layout | title |
---|---|
default |
画面に変数を渡してみよう |
-
前章でコントローラー、Twigの作成・レンダリングを行いました。
-
WEBアプリケーションの構築のためには、コントローラーから、ビューへ情報を渡す必要があります。本章ではその基本的な部分のみ扱います。
-
本章では以下を行います。
-
コントローラーにビュー変数を定義する説明を行います。
-
コントローラーレンダリング時に、変数を渡す方法を説明します。
-
Twigでコントローラーから受けた変数を表示する方法を説明します。
-
-
コントローラー内で変数を定義し、「render」メソッドで定義済みの変数を、連想配列で引数として与えます。
-
その際、「key」は任意の文字列となりますが、Twig側で変数を呼び出す際の、名称となります。
-
早速以下の様にCrudController.phpを修正します。
- /src/Eccube/Controller/Tutorial/CrudController.php
-
修正の説明を行います。
-
renderメソッドの第二引数に連想配列を渡すと、twig内で渡した変数の操作が可能となります。その際、連想配列のキーを元に変数操作を行います。
-
連想配列のキーは任意です。
-
-
コントローラで連想配列で引き渡した変数の表示をTwigに追記します。
-
以下の様に修正します。
- Tutorial/crud_top.twig
-
今回追記内容について簡単な説明を行います。
-
{{}}Twigにコントローラーで設定した変数を表示しています。
-
Twigのブロック(1.の{{}})は3種類あります。
| ブロック種別 | 適用対象 | 凡例 | |------|------| | {{}} | 変数の中身を表示 | {{ viewstr|nl2b }} | | {%%} | ブロック内でロジックを記述する | {% if myvar is ... %} | | {##} | コメントアウト | {# DB取得内容を表示... #} |
-
上記の3種類を使い分けてViewを構築していきます。
-
-
最後に確認のためにブラウザにアクセスしてみましょう。
-
ブラウザのURLに「http://[ドメイン + インストールディレクトリ]/tutorial/crud」を入力してください。
-
コントローラーで定義した変数の内容が表示されています。
-
-
本章では以下を学びました。
-
コントローラー内、renderメソッドへのView変数追加の方法を説明しました。
-
Twigの変数表示を行いました。
-
Twigのブロックの種類を説明しました。
-
- 以下の変数は「Application.php」で初期化、格納されているため、全てのTwigから直接呼び出す事が可能です。
変数名 | 詳細情報 |
---|---|
BaseInfo | 管理画面 > 設定 > 基本情報設定 > ショップマスターで保存した内容 |
title | ページタイトル |
- 呼び出し方は以下の様に呼び出せます。
例. {{ BaseInfo.カラム名 }}
- 詳細なTwig構文については後の章で説明を行います。