PHP Lithiumで、デフォルトのレイアウトを変更するには? 異なるビューに 2 つのレイアウトがあり、それらを異なるビューに切り替えたいのですが、どうすればこれを実現できますか?
ありがとう。
コントローラーでレイアウトを切り替えます。したがって、コントローラーでの作業が完了したら、この方法で render を呼び出します。
return $this->render(array('layout' => 'someFancyLayout'));
コントローラーでもこれを実行できるはずです。よくわかりませんが、この方法で使用するには Controller を拡張する必要があるかもしれません。
$this->_render['layout'] = 'someFancyLayout';
カスタム メディア ハンドラを設定することもできます。これは、たとえば、GPX ファイルを要求するときに使用されます。その場合、レイアウトを使用する必要はありません。
Media::type('gpx', 'application/text', array(
'view' => 'lithium\template\View',
'layout' => false,
'template' => false
));
renderer
また、呼び出しにフィルターを使用してそれを行うこともできます。
Media::applyFilter('render', function ($self, $params, $chain) {
$params['options']['layout'] = 'default';
if (someCondition == isMet) {
$params['options']['layout'] = 'anotherLayout';
}
return $chain->next($self, $params, $chain);
});