ECSHOPテンプレートシステム制御ラベル使用紹介
4069 ワード
ECSHOPテンプレートシステムの制御ラベルの説明では、ifラベル、foreachラベル、forラベルなど、ecshopの基本的な制御関数ラベルの使用パラメータと方法を紹介します.Smartyのif文はphpのif文と同じように柔軟で使いやすく、テンプレートエンジンに適したいくつかの特性を追加しました.ifは/ifペアで表示する必要があります.elseとelseif句を使用できます.
if,elseif,else
説明:
Smartyのif文はphpのif文と同様に柔軟で使いやすく、テンプレートエンジンに適したいくつかの特性を追加した.ifは/ifペアで現れる必要がある.elseとelseifの句を使用できます.eq、ne、neq、gt、lt、lte、le、gte、ge、is even、is odd、is not even、is not odd、not、mod、div by、even by、odd by、=、!=、>、=.これらの修飾語を使用する場合は、変数または定数と空のグリッドで開く必要があります.
例:
foreach,foreachelse
iteration:
iteration現在のループの実行回数を表示するために使用する[受験待ち]iterationは常に1から開始し、実行ごとに1増加する.[試験待ち]
first:
現在のforeachサイクルの最初の実行時にfirstがtrueに設定.
last:
現在のforeachループが最後に実行するとlastはtrueに設定される.
show:
showはforeachのパラメータです.値をブール値trueまたはfalseとする.falseに指定したループが表示されない場合、ループがforeachelse句を指定した場合、その句が表示されるかどうかはshowの値にも依存します.
total:
totalは、ループ実行の回数を表示し、ループ中またはループ実行後に呼び出すことができます.
ツールバーの
を選択します.
必要かどうか
デフォルト値
説明
from
string
Yes
n/a
ループ対象配列の名前
item
string
Yes
n/a
現在の処理要素の変数名
key
string
No
n/a
現在の処理要素のキー名
name
string
No
n/a
このループの名前.
説明:
foreachはsectionを除いてループを処理する別のスキームである(必要に応じて異なるスキームを選択する).
foreachは単純配列(配列中の要素のタイプが一致する)を処理するために使用され、そのフォーマットはsectionよりずっと簡単で、欠点は単純配列しか処理できないことです.
foreachは/foreachとペアで使用し、fromとitemプロパティを指定する必要があります.nameプロパティは、任意に指定できます(アルファベット、数値、下線の組み合わせ).foreachはネストできますが、ネスト内のforeach名が一意であることを保証する必要があります.fromプロパティ(通常は配列)は、ループの回数を決定します.foreachelse文はfrom変数に値がない場合に実行されます.
例1:
出力:
例2:
出力:
foreachループには独自の変数名があり、この変数名を用いるループにアクセスできる.使用方法は{$smarty.foreach.foreachname.varname}です.foreachnameはforeachで指定したnameプロパティです.
if,elseif,else
説明:
Smartyのif文はphpのif文と同様に柔軟で使いやすく、テンプレートエンジンに適したいくつかの特性を追加した.ifは/ifペアで現れる必要がある.elseとelseifの句を使用できます.eq、ne、neq、gt、lt、lte、le、gte、ge、is even、is odd、is not even、is not odd、not、mod、div by、even by、odd by、=、!=、>、=.これらの修飾語を使用する場合は、変数または定数と空のグリッドで開く必要があります.
例:
{if $name eq "Fred"}
Welcome Sir.
{elseif $name eq "Wilma"}
Welcome Ma'am.
{else}
Welcome, whatever you are.
{/if}
{* an example with "or" logic *}
{if $name eq "Fred" or $name eq "Wilma"}
...
{/if}
{* same as above *}
{if $name == "Fred" || $name == "Wilma"}
...
{/if}
{* the following syntax will NOT work, conditional qualifiers
must be separated from surrounding elements by spaces *}
{if $name=="Fred" || $name=="Wilma"}
...
{/if}
{* parenthesis are allowed *}
{if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#}
...
{/if}
{* you can also embed php function calls *}
{if count($var) gt 0}
...
{/if}
{* test if values are even or odd *}
{if $var is even}
...
{/if}
{if $var is odd}
...
{/if}
{if $var is not odd}
...
{/if}
{* test if var is divisible by 4 *}
{if $var is div by 4}
...
{/if}
{* test if var is even, grouped by two. i.e.,
0=even, 1=even, 2=odd, 3=odd, 4=even, 5=even, etc. *}
{if $var is even by 2}
...
{/if}
{* 0=even, 1=even, 2=even, 3=odd, 4=odd, 5=odd, etc. *}
{if $var is even by 3}
...
{/if}
foreach,foreachelse
iteration:
iteration現在のループの実行回数を表示するために使用する[受験待ち]iterationは常に1から開始し、実行ごとに1増加する.[試験待ち]
first:
現在のforeachサイクルの最初の実行時にfirstがtrueに設定.
last:
現在のforeachループが最後に実行するとlastはtrueに設定される.
show:
showはforeachのパラメータです.値をブール値trueまたはfalseとする.falseに指定したループが表示されない場合、ループがforeachelse句を指定した場合、その句が表示されるかどうかはshowの値にも依存します.
total:
totalは、ループ実行の回数を表示し、ループ中またはループ実行後に呼び出すことができます.
ツールバーの
を選択します.
必要かどうか
デフォルト値
説明
from
string
Yes
n/a
ループ対象配列の名前
item
string
Yes
n/a
現在の処理要素の変数名
key
string
No
n/a
現在の処理要素のキー名
name
string
No
n/a
このループの名前.
説明:
foreachはsectionを除いてループを処理する別のスキームである(必要に応じて異なるスキームを選択する).
foreachは単純配列(配列中の要素のタイプが一致する)を処理するために使用され、そのフォーマットはsectionよりずっと簡単で、欠点は単純配列しか処理できないことです.
foreachは/foreachとペアで使用し、fromとitemプロパティを指定する必要があります.nameプロパティは、任意に指定できます(アルファベット、数値、下線の組み合わせ).foreachはネストできますが、ネスト内のforeach名が一意であることを保証する必要があります.fromプロパティ(通常は配列)は、ループの回数を決定します.foreachelse文はfrom変数に値がない場合に実行されます.
例1:
{* $custid *}
{foreach from=$custid item=curr_id}
id: {$curr_id}
{/foreach}
出力:
id: 1000
id: 1001
id: 1002
例2:
{* The key contains the key for each looped value
assignment looks like this:
$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"),
array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
*}
{* , *}
{foreach name=outer item=contact from=$contacts}
{foreach key=key item=item from=$contact}
{$key}: {$item}
{/foreach}
{/foreach}
出力:
phone: 1
fax: 2
cell: 3
phone: 555-4444
fax: 555-3333
cell: 760-1234
foreachループには独自の変数名があり、この変数名を用いるループにアクセスできる.使用方法は{$smarty.foreach.foreachname.varname}です.foreachnameはforeachで指定したnameプロパティです.