ホームページ >バックエンド開発 >PHPチュートリアル >まだecshopの問題があります:smartyの反復を2から開始するにはどうすればよいですか?
//デフォルトでは反復は 1 から始まります
{$smarty.foreach.pro.iteration}
// start from 先頭の11はどう書けばいいでしょうか?
{$smarty.foreach.pro.iteration + 10?}
{if $smarty.foreach.pro.iteration = 1 を判断するためにこのような if を使用しないでください。 } 2{/if}
のディスカッション (解決策)
内部の出力の前に 1 つ追加します
$i = $attrs['start'] $attrs['start'] : 0 ; / /by neo
以下の if に $i++ を追加します
if (!empty($name))
$foreach_props = "$this->_foreach['$name']"
$output .= "{ $foreach_props} = array('total' => count($_from), 'iteration' => 0, 'i' => {$i});n"; ({ $foreach_props}['total'] > 0):n";
$output .= " foreach ($_from AS $key_part$item):n";
$output .= " {$foreach_props}[' iteration' ]++;n";
$output .= " {$foreach_props}['i']++;n"; //neo による
}
start=2 試してみる