콘텐츠로 이동

비행 전 확인

XOOPS 2.7.0은 템플릿 엔진을 Smarty 3에서 Smarty 4로 업그레이드했습니다. Smarty 4는 Smarty 3보다 템플릿 구문에 대해 더 엄격하며 일부 사용자 정의 테마 및 모듈 템플릿이 XOOPS 2.7.0에서 올바르게 작동하려면 조정해야 할 수도 있습니다.

메인 업그레이드 프로그램을 실행하기 전에 이러한 문제를 식별하고 해결하는 데 도움이 되도록 XOOPS 2.7.0은 upgrade/ 디렉터리에 프리플라이트 스캐너를 제공합니다. 기본 업그레이드 워크플로를 계속하려면 먼저 실행 전 스캐너를 한 번 이상 실행해야 합니다.

프리플라이트 스캐너는 기존 테마와 모듈 템플릿을 통해 알려진 Smarty 4 비호환성을 찾습니다. 다음을 수행할 수 있습니다.

  • 스캔 themes/modules/ 디렉터리에서 변경이 필요할 수 있는 .tpl.html 템플릿 파일을 찾아보세요.
  • 보고 문제를 파일 및 문제 유형별로 그룹화하여
  • 요청 시 여러 가지 일반적인 문제를 자동으로 복구

모든 문제가 자동으로 해결될 수 있는 것은 아닙니다. 일부 템플릿은 수동 편집이 필요합니다. 특히 Smarty 4에 직접적으로 상응하는 것이 없는 이전 Smarty 3 관용어를 사용하는 경우 더욱 그렇습니다.

  1. 배포 upgrade/ 디렉터리를 사이트 웹 루트에 복사합니다(업그레이드 준비 단계의 일부로 아직 수행하지 않은 경우).

  2. 브라우저에서 프리플라이트 URL을 가리킵니다.

    http://example.com/upgrade/preflight.php
  3. 메시지가 나타나면 관리자 계정으로 로그인합니다.

  4. 스캐너는 세 가지 컨트롤이 있는 양식을 제공합니다.

    • 템플릿 디렉터리themes/modules/을 모두 스캔하려면 비워 둡니다. 단일 디렉터리로 검색 범위를 좁히려면 /themes/mytheme/과 같은 경로를 입력합니다.
    • 템플릿 확장 - .tpl.html 파일을 모두 스캔하려면 비워 둡니다. 검색 범위를 좁히려면 단일 확장명을 입력하세요.
    • 자동 수정 시도 — 스캐너가 해결 방법을 알고 있는 문제를 해결하도록 하려면 이 상자를 선택하십시오. 읽기 전용 스캔의 경우 선택하지 않은 상태로 둡니다.
  5. 실행 버튼을 누릅니다. 스캐너는 선택한 디렉터리를 탐색하고 발견된 각 문제를 보고합니다.

스캔 보고서에는 검사한 모든 파일과 발견된 모든 문제가 나열됩니다. 각 이슈 항목은 다음을 알려줍니다.

  • 어떤 파일에 문제가 있는지
  • 위반하는 Smarty 4가지 규칙
  • 스캐너가 자동으로 복구할 수 있는지 여부

_자동 수정 시도_를 활성화한 상태에서 검사를 실행한 경우 보고서는 어떤 파일이 다시 작성되었는지도 확인합니다.

스캐너가 자동으로 복구할 수 없는 문제의 경우 편집기에서 플래그가 지정된 템플릿 파일을 열고 필요한 사항을 변경합니다. 일반적인 Smarty 4가지 비호환성은 다음과 같습니다.

  • {php}... {/php} 블록(Smarty 4에서는 더 이상 지원되지 않음)
  • 더 이상 사용되지 않는 수정자 및 함수 호출
  • 공백 구분 구분 기호 사용
  • Smarty 4에서 변경된 등록 시간 플러그인 가정

템플릿 편집이 익숙하지 않은 경우 가장 안전한 방법은 제공된 테마(xbootstrap5, default, xswatch5 등)로 전환하고 업그레이드가 완료된 후 사용자 지정 테마를 별도로 처리하는 것입니다.

자동이든 수동이든 수정한 후 프리플라이트 스캐너를 다시 실행합니다. 스캔에서 남은 문제가 보고되지 않을 때까지 반복합니다.

스캔이 깨끗해지면 스캐너 UI에서 스캐너 종료 버튼을 눌러 프리플라이트 세션을 종료할 수 있습니다. 이렇게 하면 실행 전이 완료된 것으로 표시되고 /upgrade/의 기본 업그레이드 프로그램이 계속 진행됩니다.

프리플라이트가 완료되면 다음 위치에서 기본 업그레이드 프로그램을 시작할 수 있습니다.

http://example.com/upgrade/

다음 단계는 업그레이드 실행 중을 참조하세요.

프리플라이트를 건너뛰는 것은 권장되지 않지만, 실행하지 않고 업그레이드했는데 지금 템플릿 오류가 표시되는 경우 문제 해결의 Smarty 4 템플릿 오류 섹션을 참조하세요. 사실 이후에 프리플라이트를 실행하고 xoops_data/caches/smarty_compile/을 지워 복구할 수 있습니다.