聪明的'OR'运算符不起作用?

时间:2013-01-12 06:42:26

标签: html smarty

{if $command2 ne "thanks" || $command1 ne "error"}
 some code <!---Ist Code-->
{/if}

{if $command2 eq "thanks" || ($command1 eq "error"}
<meta name="Robots" content="noindex, nofollow"> <!---2nd Code-->
{/if}

我正在尝试这个,但它没有工作。显示第1和第2代码 给我一个解决方案

2 个答案:

答案 0 :(得分:5)

我认为你的问题与逻辑有关。尝试&amp;&amp;具有ne案例的运算符;

{if $command2 ne "thanks" && $command1 ne "error"}
 some code <!---Ist Code-->
{/if}

{if $command2 eq "thanks" || ($command1 eq "error"}
<meta name="Robots" content="noindex, nofollow"> <!---2nd Code-->
{/if}

这是一项基本的编程知识。当您反转案例时,也将OR s反转为AND s。

请记住,根据您的需要,反之亦然;

{if $command2 ne "thanks" || $command1 ne "error"}
 some code <!---Ist Code-->
{/if}

{if $command2 eq "thanks" && ($command1 eq "error"}
<meta name="Robots" content="noindex, nofollow"> <!---2nd Code-->
{/if}

两者在不同的场景中都有意义。

更新:在你的第二个评论之后,很明显你需要在顶部的第一个例子。

答案 1 :(得分:0)

请在您的条件周围添加()括号,如

{if ($comment1 eq "thanks") || ($comment2 eq "error")}
do something
{/if}