2012-08-03 2 views
0

HTML::Template<TMPL_IF> 블록을 작동시키는 데 문제가 있습니다. 내 템플릿이 코드를 완전히 건너 뛰는 것처럼 보입니다.HTML :: Template <TMPL_IF> 블록을 건너 뛰는 중

<TMPL_LOOP NAME=DATA> 
    <TMPL_VAR NAME=complete><br> 
    <TMPL_IF NAME="complete"> 
        <!-- Some HTML here --> 
    <TMPLE_ELSE> 
     <!-- Some other HTML here --> 
    </TMPL_IF> 
    </TMPL_LOOP> 

TMPL_VAR 라인은 기대 값을 표시하지만, 그 아래의 블록 것도 전혀 나타나지 않는다. 내가 템플릿에 전달하고있어 데이터 구조는 다음과 같습니다

$VAR1 = [ 
     { 
     'code' => 26, 
     'message' => 'Start building sensors for Jarvis', 
     'complete' => 0 
     }, 
     { 
     'code' => 33, 
     'message' => 'Machine learning to determine if actions are appropriate or not', 
     'complete' => 0 
     }, 
     { 
     'code' => 37, 
     'message' => 'Play by genre audioserv method', 
     'complete' => 0 
     } 
    ]; 

어떤 도움을 주시면 더 좋구요 - 나는 지난 시간 동안 그것에 대하여 나의 머리를 두드리는 있었어요. fine manual에서

답변

1

:

<TMPL_IF> 태그가 있습니다

포함하거나 지정된 매개 변수 이름의 값을 기반으로 템플릿의 블록을 포함하지 않도록. 매개 변수에 '1'과 같이 Perl에 해당하는 값이 주어지면 블록이 출력에 포함됩니다. 정의되지 않았거나 거짓 값 (예 : '0')이 제공된 경우 건너 뜁니다.

귀하의 모든 complete은 0이므로 모두 <TMPL_IF>에 아무것도 표시되지 않습니다. "else"브랜치가 표시 되겠지만 <TMPL_ELSE> 브랜치가 없다면, <TMPLE_ELSE>입니다. 오타를 수정하고 다시 시도하십시오.

+0

감사합니다. 약 10 분 전에 나타났습니다. 실제로 작동합니다. 나는 더 많은 수면이나 카페인이 필요하다고 생각한다. – mydnight

+0

@mydnight : 더 많은 수면을 권 해드립니다 :) –

관련 문제