core_area_layout/controller.phpのオーバーライドについて

2015年7月30日 at 13:48

いつもお世話になっております。
concrete5 5.7.4を使用して、レイアウト機能を使用した際の出力処理をカスタマイズしております。

blocks/core_area_layout/controller.phpをapplication領域でオーバーライドしたところ、
レイアウトで分割した領域にcssが効かなくなってしまう現象に遭遇しました。

レイアウト機能を設定する際はグリッドフレームワークを使用せず、
「自由形式のレイアウト」を選択しています。

具体的には、
head内に「/ccm/system/css/layout/ID」の形式で挿入されるcssの中身が空になっており、
スタイルが適用されない状態になっているようでした。

controller.phpの書き方に問題があるのでしょうか?



namespace Application\Block\CoreAreaLayout;

use Concrete\Core\Area\SubArea;
use Loader;
use \Concrete\Core\Block\BlockController;
use \Concrete\Core\Area\Layout\Layout as AreaLayout;
use \Concrete\Core\Area\Layout\Preset as AreaLayoutPreset;
use \Concrete\Core\Area\Layout\CustomLayout as CustomAreaLayout;
use \Concrete\Core\Area\Layout\ThemeGridLayout as ThemeGridAreaLayout;
use \Concrete\Core\Asset\CssAsset;
use URL;
use Page;

class Controller extends BlockController
{
// ココに諸々の処理
}



view.phpのみ上書きする分には問題なさそうでした。
追加したcontroller.phpを削除するとレイアウト機能で分割した領域にcssが反映され、問題なく使用できました。

制作環境は

-----
MAC OS X 10.9.5
firefox 39.0 / google chrome 44.0.2403.107 (64-bit)

■ MAMP 3.0.6
Apache/2.2.26 (Unix)
PHP Version 5.5.14
-----
です。

何か解決のヒントがありましたらご教授いただけますと幸いです。

よろしくお願いいたします。

タグ:

Re: core_area_layout/controller.phpのオーバーライドについて

2015年8月8日 at 5:30
返信遅れてすいません。

独自のレイアウトを作成する方法はちょっと違います。

取り急ぎ、ヘルプページをお知らせします。

http://www.concrete5.org/documentation/developers/5.7/designing-for-concrete5/adding-grid-support-to-your-theme/advanced-create-and-use-your-own-grid-framework/

日本語ページ公開予定場所 (どなたかヘルプしてくれないですかね〜)
http://concrete5-japan.org/help/5-7/developer/designing-for-concrete5/adding-grid-support-to-your-theme/advanced-create-and-use-your-own-grid-framework/