view.yml設定ファイル
Viewレイヤーはview.yml
設定ファイルを編集することで設定できます。
はじめの章で説明したように、view.yml
ファイルはコンフィギュレーションカスケードのメカニズムが有効で、定数を格納することができます。
caution
アクションから呼び出されるテンプレートもしくはメソッドで直接使われるヘルパーのためにたいていの場合この設定ファイルは非推奨です。
view.yml
設定ファイルはビュー設定のリストを格納できます:
VIEW_NAME_1: # configuration VIEW_NAME_2: # configuration # ...
note
view.yml
設定ファイルはPHPファイルとしてキャッシュされます;
処理はsfViewConfigHandler
クラスによって自動的に管理されます。
layout
デフォルトコンフィギュレーション:
default: has_layout: on layout: layout
view.yml
設定ファイルはアプリケーションによって使われるデフォルトのlayout
を定義します。
デフォルトでは、名前はlayout
で、symfonyはアプリケーションのtemplates/
ディレクトリでlayout.php
ファイルですべてのページをデコレートします。
has_layout
エントリをfalse
にセットすることでデコレーションプロセスを一緒に無効にすることもできます。
tip
view
に対して明示的にセットしない限り、layout
はXML、HTTPリクエストと非HTMLのContent-Typeに対して自動的に無効にされます。
stylesheets
デフォルトコンフィギュレーション:
default: stylesheets: [main.css]
stylesheets
エントリーは現在のビューで使うスタイルシートの配列を定義します。
note
view.yml
で定義されるスタイルシートのインクルードはinclude_stylesheets()
ヘルパーによる手動もしくはcommonフィルターで自動的に行われます。
複数のフィルターが定義されている場合、symfonyは定義と同じ順序でこれらをインクルードします:
stylesheets: [main.css, foo.css, bar.css]
media
属性を変更もしくは.css
拡張子を省略することもできます:
stylesheets: [main, foo.css, bar.css, print.css: { media: print }]
use_stylesheet()
ヘルパーに対してこの設定は非推奨です:
<?php use_stylesheet('main.css') ?>
note
デフォルトのview.yml
設定ファイルでは、参照されるファイルはmain.css
であり/css/main.css
ではありません。
当然のことながら、symfonyは相対パスの前に/css/
をつけるので、両方の定義は同等です。
javascripts
デフォルトコンフィギュレーション:
default: javascripts: []
javascripts
エントリーは現在のビューに使うJavaScriptファイルの配列を定義します。
note
view.yml
で定義されるJavaScriptファイルのインクルードはinclude_javascripts()
ヘルパーで手動、もしくはcommonフィルターで自動的に行われます。
多くのファイルが定義されている場合、symfonyは定義と同じ順序でこれらをインクルードします:
javascripts: [foo.js, bar.js]
.js
拡張子を省略することもできます:
javascripts: [foo, bar]
use_javascript()
ヘルパーのためにこの設定は非推奨です:
<?php use_javascript('foo.js') ?>
note
foo.js
のように相対パスを使うとき、symfonyはこれらの前に/js/
をつけます。
metas
とhttp_metas
デフォルトコンフィギュレーション:
default: http_metas: content-type: text/html metas: #title: symfony project #description: symfony project #keywords: symfony, project #language: en #robots: index, follow
http_metas
とmetas
設定はレイアウトにインクルードするメタタグの定義を可能にします。
note
view.yml
で定義されるメタタグのインクルードはinclude_metas()
とinclude_http_metas()
ヘルパーで手動で行うことができます。
静的なメタ情報(Content-Typeなど)に対するレイアウトのHTMを純粋に保つ、もしくは動的なメタ情報(タイトルや説明)のためのスロットのためにこれらの設定は非推奨です。
tip
効果があるとき、settings.yml
設定ファイルで定義された文字集合をインクルードするためにHTTPのContent-Type
のメタ情報は自動的に修正されます。
This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.