Smarty:无法识别继续标签

Posted

技术标签:

【中文标题】Smarty:无法识别继续标签【英文标题】:Smarty: cannot recognize continue tag 【发布时间】:2011-04-19 08:56:58 【问题描述】:

我要做的就是使用简单的继续标签,但它一直给我这样的错误:

string(145) "Smarty 错误:[在 module_db_tpl:onlyimage4;image_detail 第 26 行]:语法错误:无法识别的标签 'continue' (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

有谁知道出了什么问题,我一直在谷歌搜索,没有看到任何人似乎都建议这应该可行..任何想法,伙计们......

【问题讨论】:

【参考方案1】:

老问题,但你需要使用:$continue(包括$

【讨论】:

肯定会回显一个名为“continue”的变量吗?带有 $ 符号的功能标签真的很奇怪,Smarty 3 手册确认没有这样的 $:smarty.net/docs/en/… @IMSoP 我只能告诉你我在某个地方的文档中找到了它,它确实对我有用。我在尝试自己解决这个问题时遇到了这个问题,一旦我这样做了,就回到这里发布答案。【参考方案2】:

对于智能 2: 我认为标签不存在。如果您阅读this thread,您会看到有人想要它,并建议像这样修复它。 (没试过)

编译器.continue.php

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

(加粗部分)

创建这两个文件(在这种情况下只有一个)并将它们放入您的插件目录 (注意命名约定compiler.xxx.php)。

好消息是,smarty 3 有这样的标签!参见the manual,例如:

$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
  *

【讨论】:

标签不存在是真的。这真的很有帮助。 看看下面的答案,是正确的答案。你只需要像这样把它包起来:$continue 查看问题和答案的日期。现在回头看看我。我的意思是:我将添加它的用途,因为 $continue 标签只是 voor smarty 3。 顺便说一句,它显然不应该是$,不太清楚它来自哪里。

以上是关于Smarty:无法识别继续标签的主要内容,如果未能解决你的问题,请参考以下文章

React styled-component 无法识别视频标签的 HTML 属性“自动播放”

UICollectionView 的 cellForItemAtIndexPath 无法识别单个单元格帧

目标 C 错误 -[__NSArrayI 长度]:无法识别

惠普电脑不能识别硬盘

Spring Boot + Thymeleaf Security 无法识别

THINKPHP SMARTY 下的 switch标签无法正常显示