ページタイプごとにテーマを指定するメモ

   

テーマがいくつかインストールされていることが前提で、
ページタイプを使用する際にたとえば「topicsというページタイプにはAのテーマを適用したい」、というときにapp.phpに記述することで可能らしいので今後のためにメモる。

applicationフォルダの中のbootstrapフォルダ内にある、app.phpファイルに下記コード追加。

Events::addListener('on_page_add', function($event) {
      /* @var \Concrete\Core\Page\Page */
      $page = $event->getPageObject();
      /* @var \Concrete\Core\Page\Type\Type */
      $pt = $page->getPageTypeObject();
      if ($pt->getPageTypeHandle() == 'ページタイプハンドル') {
        $pl = \PageTheme::getByHandle('テーマ');
        $page->setTheme($pl);
    }
});  

参考:concrete5でページタイプごとに指定したテーマを適用する

欲を言えばページタイプの基本情報を設定する箇所にテーマも選べるようになるとかなりうれしい。

 - concrete5