1

私がやろうとしているのは、単純な続行タグを使用することだけですが、次のようなエラーが発生し続けます。

string(145) "Smartyエラー:[module_db_tpl:onlyimage4; image_detail行26]:構文エラー:認識されないタグ'続行'(Smarty_Compiler.class.php、行590)"

私のコードは次のとおりです。

{foreach from=$itemlist item="item"}

    < .. SOME CODE ..>

{if $maxCol == $colm}
  </div>
  {assign var ='colm' value = 0}
  {$row++}
  {continue}  **<- THIS IS THE PROBLEM**
{/if}

    <.. SOME CODE ..>
{/foreach}

誰かが何が悪いのか考えていますか、私はグーグルしていて、誰もがこれがうまくいくはずだと示唆しているような種類のコメントを見ていません..アイデアの人...

4

2 に答える 2

2

古い質問ですが、使用する必要があります:({$continue}を含む$

于 2013-01-11T18:19:16.883 に答える
1

smarty 2の場合:タグは存在しないと思います。このスレッドを読むと、それを望んでいる人がいることがわかり、そのように修正するための提案があります。(試したことはありません)

compiler.continue.php

<?php 
function smarty_compiler_con­tinue($contents, &$smarty) 
{ 
return 'continue;'; 
} 
?>

(太字部分は私の追加)

これらの2つのファイル(この場合は1つだけ)を作成し、プラグインディレクトリに配置します(命名規則compiler.xxx.phpに注意してください)。

良いニュースは、smarty 3にはそのようなタグがあるということです!マニュアルを参照してください。例は次のとおりです。

{$data = [1,2,3,4,5]}
  {foreach $data as $value}
    {if $value == 3}
      {* skip this iteration *}
      {continue}
    {/if}
    {$value}
  {/foreach}
  {*
    prints: 1 2 4 5
  *}
于 2011-04-19T09:05:15.350 に答える