smarty에서 "Uncaught exception"Smarty Compiler Exception"with message"Syntax Error in template"오류가 발생했을 때의 해결 방법

4686 단어 exceptionstylesheet
보통smarty의 경계 부호 때문에 다른 프로그램이 충돌하는데, 이때의 해결 방법은 세 가지가 있다
1. 외부 체인 관련 파일.CCS 스타일시트와 같이 링크 외부 체인을 사용하여 스타일시트 파일을 계층화합니다.예:
1
<link href="style.css" type="text/css" rel="stylesheet" />

2. literal 태그를 사용합니다.Smarty만의 리터럴 태그를 이용하여 해석이 필요 없는 구역을 구분하고 {literal}과 {/literal}에 포함된 구역 Smarty는 분석을 건너뛰고 직접 출력합니다. 그러면 충돌이 발생하지 않습니다.
1
2
3
4
5
6
7
{literal}
<style type="text/css">
body {
 color:#FFF;
}
</style>
{/literal}

3. Smarty의 기본 경계표를 수정합니다.왼쪽 설정을 통해_delimiter 및 right_delimiter 속성으로 이 목적을 실현합니다.
require("Smarty.class.php"); $template = new Smarty; $template->left_delimiter = '<{'; $template->right_delimiter = '}>';
세 번째 방법의 단점은 기존 템플릿의 해석 라벨을 바꾸는 것이다. 비교적 번거로우니 첫 번째와 두 번째 유연한 조합을 추천한다.

좋은 웹페이지 즐겨찾기