我想检查产品是否有某个标签。如果是的话,我想显示一些文字。以下是我所做的样本。有用。唯一的问题是我得到了错误。
<select ng-size="{{size}}" multiple="multiple" id="selectMultiple" style="margin: 5px 0px; width:50%">
<option ng-repeat="value in scope.Names">{{value.Name}}</option>
</select>
错误日志包含以下条目:
警告:in_array()期望参数2为数组,在第330行的/cache/smarty/compile/94/4d/52/944d5284e871d0de7a0c6b84ebb2089ad579ed8b.file.product.tpl.php中给出为null
缓存中的第330行如下所示:
{if in_array('rent', $product->tags.1)}
<img id="turnKeyimg" alt="TurnKey Rental Option" src="{$tpl_uri}img/key.png"/>
<h3>TurnKey Rental Option</h3>
<p>Also available for immediate rental.<br />Request a quote today</p>
{/if}
导致这些错误我做错了什么?
答案 0 :(得分:0)
警告:in_array()期望参数2为数组,在......
中给出null
简单,in_array()
函数期望第二个参数是一个数组,但是你将NULL
作为第二个参数传递。
您必须首先检查$_smarty_tpl->tpl_vars['product']->value->tags[1]
是否为数组,然后执行in_array(...)
操作。
<?php if (is_array($_smarty_tpl->tpl_vars['product']->value->tags[1]) && in_array('rent',$_smarty_tpl->tpl_vars['product']->value->tags[1])) {?>
<img id="turnKeyimg" alt="TurnKey Rental Option"
src="<?php echo $_smarty_tpl->tpl_vars['tpl_uri']->value;
?>
答案 1 :(得分:0)
要修复错误消息,我添加了一个数组是否存在的检查。没有更多的错误。
{if (isset($product->tags) && $product->tags)}
{if in_array('rent', $product->tags.1)}
<img id="turnKeyimg" alt="TurnKey Rental Option" src="{$tpl_uri}img/key.png"/>
<h3>TurnKey Rental Option</h3>
<p>Also available for immediate rental.<br />Request a quote today</p>
{/if}
{/if}