動的エレメントを操作する(Flexy)
たとえば、以下のようなコードをFlexyテンプレートで実現させたい場合。
foreach ($entry as $e) {
echo '';
}
やっぱりここはFlexyっぽく・・・
{foreach:entryid,id}
{end:}
foreach ($entry as $e) {
$oElements["type[{$e->id}]"] = new HTML_Template_Flexy_Element;
$oElements["type[{$e->id}]"]->setValue($e->value);
}
とやりたいけど、これだと上手くいかないので。
それなら、最初から結果を配列に入れて
{foreach:entry,e}
{end:}
と書くのもいいのですけど、折角なのでHTML_Template_Flexy_Elementを使ってロジック側で操作したい所。
ループ内の要素を操作するには、flexy:nameusesを使用。
{foreach:entryid,id}
{end:}
foreach ($entry as $e) {
$oElements["type[{$e->id}]"] = new HTML_Template_Flexy_Element;
$oElements["type[{$e->id}]"]->setValue($e->value);
}
という感じで、%sが「id」の値に置き換えられ操作可能になります。
type_%sとかでもOK!