Smarty:if语句中的自定义函数的语法

时间:2013-01-04 09:04:03

标签: php smarty

我有一个聪明的自定义功能,我必须像这样调用

[{ oxcontent ident="oxhomepagefootertextblock" }]

现在我必须检查函数是返回true还是值。我正在尝试使用这样的if条件:

[{if oxcontent ident="oxhomepagefootertextblock"}]
    I'm true
[{/if}]

虽然这里有一个类似的例子(http://forum.oxid-esales.com/showthread.php?t=782#post4754),但smarty会停止执行。

有人可以告诉我正确的语法是什么吗?

提前致谢

2 个答案:

答案 0 :(得分:1)

我的回答可能稍晚,但另一种解决方案是使用{capture}函数,如:

{capture name="oxcontentValue"}{oxcontent ident="oxhomepagefootertextblock"}{/capture}

{if $smarty.capture.oxcontentValue == true}
    {* do something *}
{else}
    {* do something else *}
{/if}

参考: http://www.smarty.net/docs/en/language.function.capture.tpl

答案 1 :(得分:0)

您应该能够将oxcontent ident="oxhomepagefootertextblock"的结果分配给smarty(reference)中的变量。然后,您应该可以使用{if myvar}{/if}进行检查。