参考になるスライド
開発者によるもので、貴重な情報
デザインの編集
- 基本的には、HTMLではなく、デフォルトのTwigテンプレートを編集する。
- 本体のTwigテンプレートを直接編集すると害があるので、以下フォルダにコピーしたあと編集する。優先的に読み込まれます。
/app/template/default/Block
- CSS,JS,imgなどの場所は別にあるので注意
/html/template/default/
- 開発時は、/index_dev.phpにアクセスしながらやる
- 普段はキャッシュが生成されているので、毎回キャッシュ削除して更新しないといけない
中身
Twigテンプレートに情報をはめ込んでレンダリング
- Twigの埋め込みで情報を取り出す
app/template/Product/detail.twig
<p class="item_comment">
{{ Product.description_detail|raw|nl2br }}
</p>
商品詳細の場合 URL: /product/detail
- ProductController.php(151行)
151行目
$Product = $app['eccube.repository.product']->get($id);
*******
216行目
return $app->render('Product/detail.twig', array(
'title' => $this->title,
'subtitle' => $Product->getName(),
'form' => $form->createView(),
'Product' => $Product,
'is_favorite' => $is_favorite,
));
$Productに商品データのオブジェクトを格納し、Twigテンプレートで使用可能にしている。
($Productの中身は?⇨データベースに登録した内容)
- Twigの埋め込みで情報を取り出す
app/template/Product/detail.twig
<p class="item_comment">
{{ Product.description_detail|raw|nl2br }}
</p>
縦棒の意味は?
-
フィルター
Twigのフィルター一覧(http://twig.sensiolabs.org/doc/filters/raw.html)
- raw:データベースのものをエスケープせず出力
- nl2br:改行を自動的にする