h19e_logo.png

プログラミングメモと、子供とのお出かけ記録
<< 北海道に行ってきました (星野リゾート トマム編) | main | FuelPHP Configの使い方 基本編 >>
スポンサーサイト

一定期間更新がないため広告を表示しています

| - | | - | - | pookmark |
FuelPHP + Twig で便利な記述方法 2つ
FuelPHP + Twigで標準で使える機能なんですが、意外と知られていない便利な記述を2つ

1. configファイルに記述している配列をテンプレートから直接取得 

FuelPHP では、fuel/app/config/config.php に サービス全体で使用する配列を下記のように記述することができます。

return array(
     ...
    'options' => array(
        'category' => array(
            '1' => '和食',
            '2' => '洋食',
            '3' => 'ラーメン'
            ...

config.php に設定した配列は、controller から、以下のように取得して使用できます。

$category_options = Config::get('options.category');


しかし、この配列をViewでのみ使用する場合、controllerで取得して、Viewに配列を渡すという記述をしなくとも、

config('options.category')で直接テンプレートから取得することが出来ます。

例えば、
1. セレクトボックスを生成したいとき

<select>
{% for category_key,category_name in config('options.category') %}
<option value="{{ category_key }}">{{ category_name }}</option>
{% endfor %}
</select>

2 . カテゴリーIDを名前に変換したいとき

{% set category_options = config('options.category') %}
{{ category_options[category_id] }}

2. Formへ入力された値をテンプレートから直接取得 

FormへPOSTされたデータは、controller内では、

$id = Input::post('id');
$name = Input::post('name');

のような形で取得できます。

これも、controllerから値をViewに渡さなくとも、テンプレートから下記のように直接取得することが出来ます。

{{ form_val('id') }}

例えばこんな形で利用できます。

<select name="id">
{% for category_key,category_name in config('options.category') %}
<option value="{{ category_key }}" {% if form_val('id') == category_key %}selected="selected"{% endif %} >{{ category_name }}</option>
{% endfor %}
</select>


2つとも特にたいした機能ではないのですが、使ってみると意外と便利です。
 
| プログラミングメモ | 15:59 | comments(0) | trackbacks(0) | pookmark |
スポンサーサイト
| - | 15:59 | - | - | pookmark |

コメント
コメントする









この記事のトラックバックURL
http://h19e.jugem.jp/trackback/98
トラックバック