$flexy->getElements()

$flexy->getElements() – テンプレートから動的要素を取り出す

Synopsis

array $flexy-> getElements ( )

Description

FORM、INPUT、SELECT、それに属性値に flexy:dynamic を持つ HTML タグは HTML_Template_Flexy_Element のものに置換され、 コンパイルされた Flexy テンプレートと同じフォルダ (compileDir) にシリアライズされて保存されます。

これを利用してそれぞれの HTML 要素に変更を加えたり、ページ内にどういったフォーム要素があるのかを調べる事が出来ます。

注意: 変更を加えた値は $outputObject に引数 $elements として渡す必要があります。 アサインを行うために要素を取り出す必要はなく、空の要素を作成してマージするだけで構いません。

Return value

array - テンプレートに含まれる HTML 要素の配列 (フォーム要素、動的要素が無い場合は空の配列が返る)

Note

This function can not be called statically.

Example

テンプレートの内部を調べる

<?php
$form 
= new HTML_Template_Flexy();
$form->compile('some_file_name');
print_r($form->getElements());
?>

テンプレートの例

 
<BODY>
<FORM name="XXXX">
<INPUT name="yyy">
<SELECT name="zzz">
<OPTION value="aaaa">AAAAA</OPTION>
</SELECT>
</FORM>
</BODY>

コンパイルされたテンプレート

 

<BODY>
<?php echo $this->elements['XXXX']->toHtmlnoClose();?>
<?php echo $this->elements['yyy']->toHtml();?>
<?php echo $this->elements['zzz']->toHtml();?>
</form>
</BODY>

内部探査の出力結果

 

Array
(
[XXXX] => html_template_flexy_element Object
(
[tag] => form
[attributes] => Array
(
[name] => XXXX
)

[children] => Array
(
)

[override] =>
[prefix] =>
[suffix] =>
[value] =>
)

[yyy] => html_template_flexy_element Object
(
[tag] => input
[attributes] => Array
(
[name] => yyy
)

[children] => Array
(
)

[override] =>
[prefix] =>
[suffix] =>
[value] =>
)

[zzz] => html_template_flexy_element Object
(
[tag] => select
[attributes] => Array
(
[name] => zzz
)

[children] => Array
(
[0] =>

[1] => html_template_flexy_element Object
(
[tag] => option
[attributes] => Array
(
[value] => aaaa
)

[children] => Array
(
[0] => AAAAA
)

[override] =>
[prefix] =>
[suffix] =>
[value] =>
)

[2] =>

)

[override] =>
[prefix] =>
[suffix] =>
[value] =>
)

)
コントローラーオブジェクトをテンプレートとマージし、結果を返す (Previous) クラスのコンストラクタ (Next)
Last updated: Wed, 23 Apr 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.