グリッドフレームワークが見つかりませんでした

2015年1月8日 at 6:10

いつもお世話になります。
5.7.3で5.6.3.1で使っていたテーマの流用をしようと思い勉強中なのですが以下のエラーが出てしまいました。
どのようにしたらよろしいでしょうか?

**********
予期せぬエラーが発生しました。
グリッドフレームワークが見つかりませんでした。グリッドエリアのメソッドには、PageTheme クラスで定義された有効なグリッドフレームワークが必要です。
**********

何もせずにテーマを当てはめたところ、レイアウトの追加でbootstarapの項目が出なかったのでElementalと見比べて、テーマ内で$a->enableGridContainer();を記載すれば出るのだろうなというところに辿り着きました。
そこで記載したところ、編集モードにしようとすると上記のエラーが出たのでpage_theme.phpを標準のElementalから持ってきてnamespace Application\Theme\Test_bs;として配置したのですがエラーが消えないという状況です。
page_theme.phpはnamespaceのみ変更しています。

よろしくお願いします。

タグ:

Re: グリッドフレームワークが見つかりませんでした

2015年1月8日 at 6:24
自己解決です・・・

テーマのフォルダ名にアンダーバー入れるとダメなんですね。
class名とかアンダーバーと大文字で認識したりするのでその関係でしょうか。
以後、名前を付ける時は気を付けます。
 

Re: グリッドフレームワークが見つかりませんでした

2015年1月8日 at 13:25
akiさん、こんにちは。
自己解決されたとのことですが、ちょうど最近、私も同じようなことをしていたので書いておきます。

・フォルダ名に大文字は使わない
フォルダ名には、アンダースコアは入っても問題ありません。ただし、大文字を使うのは好ましくありません。namespaceで問題が発生する可能性があります。

今回の場合、テーマが入っているフォルダの名前がもともとTest_bsならば、
test_bsにするか、testbsにするかのどちらかが良いです。

・namespaceの書き方
フォルダ名のアンダースコア区切りの先頭の文字が大文字になります。
フォルダ名がtest_bsの場合、namespaceはTestBsとなり、フォルダ名をtestbsとしていた場合にはnamespaceがTestbsとなります。