smarty section配列を巡る方法

2374 ワード

sectionの発生はforeachの不足を解決するためで、foreachと同じように、テンプレート内のループブロックを設計するために使用され、複雑で、プログラム上でプログラムのニーズを満たすことができるので、プログラムの中で私はforeachを使用するのではなく、それを使用することに慣れています.基本原形は,{section name=name loop=$varName[,start=$start,step=$step,max=$max,show=true]}name:sectionの名前であり,$$loop:ループする変数を付けずにプログラムでassignを使用してこの変数を操作する.start:ループを開始する下付きスケール、ループ下付きスケールのデフォルトは0から$step:ループごとに下付きスケールの増数$max:最大ループ下付きスケール$show:booleanタイプで、このブロックを表示するかどうかを決定します.デフォルトはtrueです.ここに名詞の説明があります.ループ下付きスケール:実際の英文名はindexで、インデックスの意味です.ここでは「下付き」に訳します.主によく理解するためです.このループブロックを表示するときの現在のループインデックスを表します.デフォルトは0からです.$startの影響で、$startを5に設定すると、5からカウントされます.テンプレート設計セクションで使用したことがあります.これは現在の{section}の属性で、呼び出し方法はSmartyです.section.sectionName.index、ここでsectionNameは関数プロトタイプのname属性を指します.{section}ブロックが持つ属性値は、それぞれ:1である.index:上で説明した「ループダウン」のデフォルトは02です.index_prev:現在の下付き文字の前の値、デフォルトは-13です.index_next:現在の下付き文字の次の値、デフォルトは14です.first:第1ループ5であるか否か.Last:最後のループであるかどうか6.iteration:サイクル数7.rownum:現在の行番号、iterationの別名8.loop:最後のループ番号で、sectionブロックの後にsectionのループ回数を統計することができる.total:サイクル数、sectionブロック後にサイクル数を統計することができる.show:関数の宣言には、sectionが{$smarty.section.sectionname.varname}ループのIDを表示するかどうかを判断するためのものがあります.シーケンス番号を1から開始するには、{$smarty.section.sectionname.index+1}
$menu=array(
array(
'menuName'=> '    ',
'menuCss' => 'current_tab',
'menuUrl' => ''),
array(
'menuName'=> '    ',
'menuCss' => '',
'menuUrl' => 'index.php?controller=TyAbout&action=Lead'),
array(
'menuName'=> '    ',
'menuCss' => '',
'menuUrl' => 'index.php?controller=TyAbout&action=Culture'),
array(
'menuName'=> '    ',
'menuCss' => '',
'menuUrl' => 'index.php?controller=TyAbout&action=Contact'),
);

 
 
smartyテンプレートのファイルコード:
{{section name=loop loop=$menu}}
      <h2 id="tab_{{$smarty.section.loop.index+1}}" class="{{$menu[loop].menuCss}}">
       <a onclick=tab_toggle(this) href="java script:send('{{$menu[loop].menuUrl}}');">{{$menu[loop].menuName}}</a>
      </h2>
     {{/section}}