MarkupHelper:他のヘルパーのメソッドを連結する

MarkupHelper を更新。他のヘルパーのメソッドをチェーンして、戻り値をそのままHTMLの中に配置できるようになりました。

http://github.com/tkyk/cakephp-markup-helper

デフォルトでは HtmlHelper と FormHelper のメソッドを、それぞれ h_, f_ というプレフィクスで呼び出せます。こんな感じのコードが記述可能です。

echo $markup
->div('search')
->fieldset->legend->text('ブログ検索')->end
->f_create('BlogSearch')
->f_input('text', array('label' => false)))
->small->h_link('詳細検索はこちら', array('action' => 'search'))->end
->f_end('検索')
->enddiv;

その他のヘルパーを使用する場合はコントローラの $helpers でオプションとして指定します。

var $helpers = array('Markup' =>
                     array('helpers' => array('My', 'Javascript' => 'js')));

標準でヘルパー名がそのままプレフィクスとなりますが、独自のプレフィクスも指定可能です。上の例では MyHelper のメソッドを My_methodName という名前で、JavascriptHelper のメソッドを js_methodName もしくは javascript_methodName という名前で呼び出すことができます。

注意:他のヘルパーからの戻り値は全て html メソッドで連結されます。XSSが起こらないように気をつけてください。

Leave a Reply