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
      }
    ];

どんな助けでも大歓迎です-私はこの1時間それに対して頭をぶつけてきました。

4

1 に答える 1

1

細かいマニュアルから:

この<TMPL_IF>タグを使用すると、特定のパラメーター名の値に基づいて、テンプレートのブロックを含めるかどうかを指定できます。パラメータにPerlに当てはまる値(「1」など)が指定されている場合、ブロックは出力に含まれます。定義されていない場合、または「0」などの誤った値が指定されている場合は、スキップされます。

すべてcompleteのがゼロなので、<TMPL_IF>何も表示されません。「else」ブランチが表示されることを期待するかもしれませんが、<TMPL_ELSE>ブランチはありません<TMPLE_ELSE>。タイプミスを修正して、再試行してください。

于 2012-08-03T06:17:39.620 に答える