2016年8月24日水曜日

[cakehp2] view.ctpの変数をLayouts/default.ctpで参照したい。

cakephpのテーマシステムを使ったサイトを作る場合
できるだけスタイルシートだけでテーマを表現して欲しい
しかし、viewファイルも使わなくては表現できない、
でも、レイアウトファイルまではさわって欲しくない時、
フラグだけで,表示、非表示を切り換えたり等、色々使える。

view.ctp の適当なところに置く
1
2
3
<?php
$this->set('showMenuBar', true);
?>
default.ctp の適当なところに置く
1
2
3
4
5
<body>
 
<?php if ( !empty($showMenuBar) ) : ?>
<!-- etc. etc -->
<?php endif; ?>

2016年8月5日金曜日

cakephp 2.x のテーマ名

テーマを変更するにはコントローラーで
pubulic $theme = 'example';
もしくは
各アクション内で
$this->theme = 'example';
とやれば良いのだが、
テーマ名が小文字の場合でもView/Themed以下に置くディレクトリ名は、
キャメルケースの先頭大文字、example は Exampleになる。

app/webroot/theme以下にテーマ名のディレクトリの下に css js img
ディレクトリを置けるがこの場合のテーマ名は$this->themeの値そのものになる。
小文字なら小文字、キャメルケースならキャメルケース、
example は example、Example は Exampleになる。