0

我无法让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
      }
    ];

非常感谢任何帮助 - 在过去的一个小时里,我一直在努力解决它。

4

1 回答 1

1

来自精美手册

标签允许您根据<TMPL_IF>给定参数名称的值包含或不包含模板块。如果参数的值对 Perl 来说是正确的——比如 '1'——那么这个块就会包含在输出中。如果它没有被定义,或者被赋予了一个错误的值——比如“0”——那么它就会被跳过。

你所有的completes 都是零,所以<TMPL_IF>不会显示任何东西。您可能希望显示“else”分支,但您没有任何<TMPL_ELSE>分支,您有<TMPLE_ELSE>. 修正错字并重试。

于 2012-08-03T06:17:39.620 回答