WordPressユーザーのbaserCMS覚え書き


baserCMSのテーマは常に子テーマ

当たり前といえば当たり前ですが、WordPressユーザーが初めてbaserCMSのテーマを作るとき「いったいテーマディレクトリはどこにあるんだ?」というギモンが脳裏をよぎることと思います。

あらためてのおさらいですが、WordPressの場合はこうですね。

wordpress_themes.png

一方のbaserCMSではこのようになっています。

baserCMSのテーマフォルダ構成

baserCMSをインストールすると

  • app
  • baser
  • cake

というフォルダができるので、なんとなく「baser」内にテーマディレクトリがあるように考えてしまうのですが、実際は「app」内の「themed」に存在しているのですね。

テンプレート制作 | baser CMS - 国産オープンソース!フリー(無料)で『コーポレートサイトにちょうどいいCMS』

さて、WordPressではいまや定番となっている感のある「子テーマ」について、baserCMSではまったく同等の仕組みは現時点でととのっていないようです。WordPressでは、同階層にあるテーマで親子関係(例:twentytwelve が親・your_own_theme が子)をつくることができますが、baserCMSではそれができないということです。

その代わり、baserCMSにはテンプレートファイル読み込みの優先順位が設定されています。たとえば、テーマの要となるレイアウトファイルはこのような優先順位で読み込まれます。

baser_theme_priority.png

テーマディレクトリ内に defalut.php がない場合 /app/views/layouts 内を走査、そこにもなければ /baser/views/layout 内の default.php が読みこまれます。つまり、テーマディレクトリ内のテンプレートファイル群は、/baser/views の子テーマにあたるという言い方もできるというわけです。