0

次のようなtplファイルにforeachループコードがあります。

[{foreach from=$oView->getArticleList() item=actionproduct name=test_articleList}]
[{include file="inc/product_alt.tpl"  product=$actionproduct testid="action_"|cat:$actionproduct->oxarticles__oxid->value test_Cntr=$smarty.foreach.test_articleList.iteration}]
[{/foreach}]

foreachループに含まれるファイルproduct_alt.tplには、単純なdivコンテナーが含まれており、製品ごとに表示されます。今、私は毎秒divコンテナに追加のクラスを追加するソリューションを探しています。

私は少しグーグルして、私が偶数と奇数で働かなければならないことを(私はそう思う)見つけました。しかし、すべてのsecod divコンテナーが追加のクラスを取得することを目標として、これをforeachループに正確に適用する方法に固執しました。

4

1 に答える 1

2

あなたが探しているcycle。たとえば、次のように、includeステートメントで追加の変数を割り当てることができます。この変数はassign$classによって変更されます。

 {cycle values='yourClass1,youClass2' assign='class'} 

それはおそらくあなたの奇妙な/偶数の考えが由来するところです:マニュアルは言います

 {cycle values='odd,even' assign='class'} 

しかし、それらは単なる価値です。とにかく、変数「class」には、コンテンツとして「yourClass1」と「yourClass2」(または奇数/偶数)が交互に含まれるようになりました。これをインクルードに割り当ててから、次のようなものを追加する場合

<div class="{$class}">

あなたは交互のクラスを取得します。それらの1つはあなたが望むものです。もう一方は空にすることができます。

サイクルマニュアルを確認してください:http ://www.smarty.net/docsv2/en/language.function.cycle

于 2012-04-27T12:54:18.970 に答える