我想检查变量$ nvTb是1还是2。
我这样做但没有工作
{if (($nvTb eq 1) or ($nvTb eq 2)) }
实现类似的目标
<a role="tab" {if (($nvTb eq 1) or ($nvTb eq 2)) } id="fichaScroll" {else} data-toggle="tab" {/if}>
当我运行代码只有一个如果检查
{if $nvTb eq 1}
然后工作
答案 0 :(得分:2)
我猜测TPL原本适用于smarty
模板,根据语法判断,您可以从此处获取完整文档:http://www.smarty.net/docs/en/
eq
是==
的别名,您可以在此处看到:http://www.smarty.net/docs/en/language.function.if.tpl
就您的问题而言,请尝试以下方法:
<a role="tab" {if $nvTb === 1 || $nvTb === 2} id="fichaScroll" {else} data-toggle="tab" {/if}>
eq
是==
的别名,这意味着它会将1
视为真,这意味着任何真值的任何内容也会通过检查。我猜这可能是你的问题。
如果不是问题,请尝试以下方法:
{php}
echo '<a role="tab" ((if $nvTb === 1 || $nvTb === 2) ? id="fichaScroll"
: data-toggle="tab")>';
{/php}
无论如何不是最漂亮的解决方案,但我相信它应该有效。
答案 1 :(得分:1)
<?php if(($nvTb == 1) || if($nvTb == 2)) {
}?>
答案 2 :(得分:1)
看起来像Smarty。试试这样:
{if $nvTb == 1 || $nvTb == 2}
干杯。
答案 3 :(得分:1)
你可以试试这个:
<?php
switch($nvTb) {
case 1:
//your code here
case 2:
//your code here
}
答案 4 :(得分:1)
如果你使用smarty试试这个
{if ($nvTb eq 1) || ($nvTb eq 2)}
do something
{/if}
在你的情况下
<a role="tab" {if ($nvTb eq 1) || ($nvTb eq 2)} id="fichaScroll" {else} data-toggle="tab" {/if}>
答案 5 :(得分:0)
php中没有“eq”只需使用== - &gt;
if ($nvTb == 1 || $nvTb == 2)
注意:php ===中还有一个类型安全的比较 有关更多信息,请查看此处http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison
答案 6 :(得分:0)
最后,错误位于id部分。当具有多个部分并使用相同的id时可能会导致错误。为了解决这个问题,我使用了类似的代码:
<a role="tab" {if ($nvTb eq 1) || ($nvTb eq 2)} class="fichaScroll" {else} data-toggle="tab" {/if}>
将javascript从#更改为。
一旦完成,双if语句就可以正常工作。