カテゴリーページごとに違うサブメニュー表示する

yanshi > カテゴリーページごとに違うサブメニュー表示する @ 2010/6/21 19:37
こんにちは。
たびたびの投稿ですみません。

カテゴリーページごとにそれぞれ別のサブメニューを表示させたいのですがどのようにすればいいでしょうか?
マニュアルページの「サブメニューを設定する」部分を確認して色々試行錯誤していますができません。

$baser->setSubMenus( $submenus )

submenu.ctpに
$baser->setSubMenus(service);
と記述し、サブメニュー用エレメントservice.ctpをsubmenusの下に設置

CakePHPもこの機会に勉強し始めたため、使用方法が根本的に間違っている!?
お恥ずかしいですが、教えていただけますでしょうか。
よろしくお願い致します。
ryuring > Re: カテゴリーページごとに違うサブメニュー表示する @ 2010/6/21 19:58
こんにちは。
この辺のドキュメントがまだ充実できてないですね。。

引き数は配列、かつ、配列の要素は文字列である必要があります。

$baser->setSubMenus(array('service'));



後々サブメニューまわりはウィジェットとして実装したいと考えてます。(WordPressのような)

よろしくお願いしますー

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

ryuring > Re: カテゴリーページごとに違うサブメニュー表示する @ 2010/8/7 3:54
BaserCMS 1.6.0 ではウィジェット機能が実装されました。

カテゴリ別に管理画面でサクっとはいきませんが、

以前より管理が楽になっています。

例えば、sidebar.ctpにおいて

次のようなコードを書けばカテゴリ別にウィジェットエリアの切り替えができます。

$pageCategory = $page->getCategory();
switch($pageCategory['id']){
case 1:
case 2:
$baser->element('widget_area',array('no'=>2));
break;
case 3:
$baser->element('widget_area',array('no'=>3));
default:
$baser->element('widget_area',array('no'=>1));
}


http://basercms.net/download/index.html

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

afair > Re: カテゴリーページごとに違うサブメニュー表示する @ 2011/2/18 14:55
BaserCMSをご利用させて頂きありがとうございます。

私も同じくカテゴリーページごとに違うサブメニュー表示したく、上記回答を参考にカスタマイズしてみましたが思うようにいきませんでした。

引用:

$pageCategory = $page->getCategory();



上記の実装ですと、Post送信時にしかカテゴリーidを取得することができないため、要件を満たせないと思われます。(下記が該当する実装だと思われます)

引用:

baser/views/helpers/page.ctp

 73  * 現在のページが所属するカテゴリデータを取得する
 74  * @return array
 75  */
 76     function getCategory() {
 77         if(!empty($this->data['PageCategory']['id'])) {
 78             return $this->data['PageCategory'];
 79         }else {
 80             return false;
 81         }
 82     }



やはり、PageCategoryモデルにwidget_areaカラムをもたせ、カテゴリー単位でウィジェットを切り替えるような仕組みの方がよいのではないでしょうか。

【動作環境】
* BaserCMSのバージョン:1.6.9.1
* レンタルサーバー名:ローカル環境
* スマートURLの利用:ON
* 設置フォルダ: ドキュメントルート
* PHPスキル(自己評価): D
* OSの種類:CentOS5.4
* PHPのバージョン:php 5.2.11
* データベース種類・バージョン:MySQL5.0.77

ryuring > Re: カテゴリーページごとに違うサブメニュー表示する @ 2011/2/18 15:32
こんにちは。

引用:

上記の実装ですと、Post送信時にしかカテゴリーidを取得することができないため、要件を満たせないと思われます。(下記が該当する実装だと思われます)


$this->dataのデータは、同クラスの、beforeRenderメソッドで取得していますので、Post送信は関係ありません。
こちらの環境では、ページカテゴリ配下のページであれば、$this->dataは取得できてるので、何か他の原因だと思います。

引用:
やはり、PageCategoryモデルにwidget_areaカラムをもたせ、カテゴリー単位でウィジェットを切り替えるような仕組みの方がよいのではないでしょうか。


こちらについては、「シンプルに」というコンセプトに影響する可能性がありますので、まず「実装を検討する事」を課題として登録させて頂きました。
(「初心者でも簡単に使えるぐらいシンプルな機能実装だけど、やればできる子なんです」というのが理想なので。。。)

http://project.e-catchup.jp/issues/1218

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
7 人のユーザが現在オンラインです。 (7 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 7