글쓴사람 질문자..
글쓴시간2013년 3월 15일 오후 2시 19분 56초
    제목템플릿 변수가 없을시 자동 삭제 문제...
jquery template 을 template_ 와 함께 사용하고 있습니다.
궁금한 부분은 함께 사용시 ${변수} 일경우  {변수}는 자동으로 삭제가 되는데..
삭제되지 않고 남기는 방법은 없는건가요????
자동으로 치환되듯이 삭제가 되어서 매번 \을 붙여야 되서 불편하게 되네요....
관리자 언더바를 사용하는 한 {변수} 는 템플릿 변수로 인식하니까 당연한 결과입니다.

{변수}가 삭제된 것이 아니라 php코드로 변환된 것이고 assign 하지 않았으니 빈문자열이 출력된 겁니다.

{\변수} 이스케이프하거나

자바스크립트를 js 파일에 넣거나 하는 방법 외에는 없습니다.

템플릿엔진에 따라 템플릿코드를 파싱하지 않는 영역을 설정하는 기능을 제공하기도 하는데 언더바에서는 제공되지 않습니다.
13-03-15 15:36
질문자 아하 글쿤여
그렇다면 prefilter에서 미리 $\{변수\} 이런식으로 변경한다면 가능하기는 하네요... 그런데 성능에서 문제가 없을까요???
13-03-15 21:34
관리자 아... 그런방법이 있었네요.

성능에는 문제 없습니다.

템플릿코드 이스케이프 방법이 \{변수\} 가 아니고 {\변수} 이구요.


prefilter.jqueryTemplate.php 파일을 플러그인 디렉토리에 만드시고

<?php
function jqueryTemplate($source, $tpl)
{
    return str_replace('${', '${\\', $source);
}
?>

저장하고 프리필터설정해서 쓰시면 될거 같네요.
13-03-15 23:36
관리자 좀 더 정확하게 잡아내려면 아래처럼 정규표현식으로 하시구요.

<?php
function jqueryTemplate($source, $tpl)
{
    return preg_replace('/\${(\w+)}/', '${\\\\$1}', $source);
}
?>
13-03-15 23:40
질문자 아 감사합니다..  저도 같은 방법으로 해결을 해봤습니다.
미리 저도 수정한 올렸어야 되는데 .....
template_  정말로 베스트입니다.
13-03-16 13:54
    이름
비밀번호
 
Since 2003-03-03 hosted on vultr.com