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_continue($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 无法识别单个单元格帧