目次

Ethna組込みのSmartyプラグイン

書いた人: いちい

概要

EthnaでSmartyを使う場合に利用できる、組込みの便利なプラグイン(modfier, function, block)についての説明です。

基本的に Ethna_ViewClass で提供されているヘルパ関数や、 php の組込み関数、 Ethna_Util の関数などを呼び出すラッパーになっています。

modifier

{...|number_format}

number_format()関数のラッパーです。

{...|strftime}

strftime()関数のラッパーです。

{...|count}

(配列にたいする) count() 関数のラッパーです。

{$array|count}

{...|join}

配列を連結して文字列にする join() 関数のラッパーです。

{$str_array|join:","}

{...|filter}

連想配列のリストから、指定されたキーの値だけを取り出して配列を再構成します。

{...|explode}

文字列に対する explode() 関数のラッパーです。 第一引数の文字列を第二引数の文字列により分割し、配列にします。

{...|unique}

配列に対する unique() 関数のラッパーです。第2引数にキーをあたえることで、 filter を同時に行うことができます。

{$array|unique:"foo"}

{...|wordwrap_i18n}

utf-8のみ対応 指定された文字数で文字列をワードラップします。

{...|truncate_i18n}

文字列を指定された文字数で切り詰めます。 mb_strimwidth() を用いています。

{...|i18n}

i18nメッセージを取得します。 Ethna_I18N クラスを利用します。

{...|checkbox}, {...|select}, {...|form_value}

詳しくはAPIドキュメントをご覧ください。多くの場合、もっと簡単な代替手段があります。

function

{message}

指定されたフォームにエラーがある場合にメッセージを出力します。エラーがないときはなにも出力されません。

{url}

Ethna_UrlHandler を使って、アクション名とパラメータからURLを生成します。UrlHandlerについての説明については Ethna_UrlHandlerを参照してください。

以下では、アプリの設定ファイル (app-ini.php) で 'url' => ' http://example.jp/index.php' が設定され、 /show/article/3/2 で show_article アクションにパラメータ chapter=3, sectio=2 を与えるものとします。

{form_name}

アクションフォームで定義された、フォームの表示名を取得します。Ethna_ViewClassのgetFormName()を用いています。

var $form = array(
    'text' => array(
        'type' => VAR_TYPE_TEXT,
        'name' => 'テキスト',
        ...

{form_submit}

フォームのsubmitボタンを生成します。Ethna_ViewClassのgetFormSubmit()を用いています。詳しくは Ethna_ViewClassを参照してください。

{form_input}

Ethna_ViewClassのgetFormInput() (および getFormInput*()) を使い、アクションフォームのフォーム定義から、自動的にそのフォームを送信するためのHTMLタグを生成します。

詳細は フォームヘルパを参照してください。

{csrfid}

CSRF対策のためのIDをhiddenタグもしくはGETのリクエストパラメータとして出力します。

{is_error}, {uniqid}, {select}, {checkbox_list}

詳しくはAPIドキュメントをご覧ください。多くの場合、もっと簡単な代替手段があります。

block

{form}...{/form}

詳細は フォームヘルパを参照してください。