0
我有一个关于smarty和OXID eShop的小问题。在检索一组类别之后,我尝试仅显示“排序号码”特殊范围内的类别。应显示低于100的所有值。但是,这也显示了项目> 100Smarty问题嵌套条件语句
这里是我的代码片段:
[{foreach from=$oxcmp_categories item=ocat key=catkey name=root}]
[{if $ocat->getIsVisible() }]
[{if ((int)$ocat->oxcategories__oxsort <100) }]
[{if $smarty.foreach.root.index % 3 == 0}]
<div style="clear: left;"></div>
<div class="mainMenu sub_[{$smarty.foreach.root.index}]">
<div class="mm_header">
<p class="mm_headline">[{$ocat->oxcategories__oxtitle->value}]</p>
</div>
<div>
<img src="[{if $ocat->getThumbUrl() != ''}] [{$ocat->getThumbUrl()}] [{else}] [{'http://placehold.it/299x230'}] [{/if}]" alt="">
<p class="mm_desc">[{$ocat->oxcategories__oxdesc}]</p>
</div>
</div>
[{else}]
<div class="mainMenu sub_[{$smarty.foreach.root.index}]">
<div class="mm_header">
<p class="mm_headline">[{$ocat->oxcategories__oxtitle->value}]</p>
</div>
<div>
<img src="[{if $ocat->getThumbUrl() != ''}] [{$ocat->getThumbUrl()}] [{else}] [{'http://placehold.it/299x230'}] [{/if}]" alt="">
<p class="mm_desc">[{$ocat->oxcategories__oxdesc}]</p>
</div>
</div>
[{/if}]
[{/if}]
[{/if}]
[{/foreach}]
任何想法,问题出在哪里可以?
为什么使用模板引擎来执行逻辑操作?如果您只想显示100个类别,则只应从控制器/模型向视图发送100个类别。 – skrilled 2014-09-26 19:45:45
它可能与你在第二个if语句中对'int'的转换有关。也许这个演员阵容正在做你不想做的事情,因为如果你必须先演员,那么显然这是另一回事。当你将它转换为int类型时,你可以试着查看'$ ocat-> oxcategories__oxsort'的值。但是,我会建议您遵循skrilled的提示,并且只将您需要的数据发送到表单。 – Bono 2014-09-26 21:33:53