■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

プラグインのヘルパーフックを使って、サブメニューを増やしたい

goichi > プラグインのヘルパーフックを使って、サブメニューを増やしたい @ 2012/8/19 11:55
いつもお世話になっております。
サブメニュー部分のフックについて、お伺いします。m(__)m

既存の固定ページ管理、固定ページカテゴリ管理のページを表示すると、
それぞれのサブメニューがページ上部に表示されますが、
このサブメニューの下にプラグイン用のサブメニューを追記したいと思っています。

サブメニューについて、プラグイン側のviewで表示するならば、
プラグインのコントローラー内で、

$this->subMenuElements = array('pages','page_categories','tests');


と書けば「/app/plugins/プラグイン名/views/elements/admin/submenus/」の中から「tests.php」を拾ってきてくれるので、問題ないのですが、
固定ページ管理画面(page_controller)や固定ページカテゴリ管理画面(page_categories_controller)でも、
上記のサブメニュー「tests」を表示したいため、プラグインのヘルパーフックを利用して表示しようとしたところ、上手くいかずに悩んでいます。

今回、beforeRenderを使って、以下の様な処理を入れました。

$view = ClassRegistry::getObject('View');
$view->viewVars['subMenuElements'][] = 'tests';


すると、
Not Found: \app\views\themed\demo\elements\admin\submenus\tests.php

となり、プラグインフォルダ内まで、サブメニュー用のエレメントを探してくれていないような状態です。
(ちなみに、プラグイン以外の固定ページ管理、カテゴリ管理のサブメニューは表示されます)

何とか、プラグインフォルダにある、サブメニュー用のエレメントまで辿り着いて欲しいのですが、何か良い方法はあるでしょうか?
(説明が下手ですみません・・・・。)

よろしくお願いしますm(__)m


■ BaserCMSのバージョン:2.0.4
■ レンタルサーバー名:localhost
■ スマートURLの利用: OFF
■ 設置フォルダ: [サブフォルダ]
■ 利用しているデータベース: [MySQL]
■ PHPスキル(自己評価): [ C ]
■ OSの種類:windows7
■ PHPのバージョン:5.3.1
■ データベース種類・バージョン:MySQL 5.1.41
ryuring > Re: プラグインのヘルパーフックを使って、サブメニューを増やしたい @ 2012/8/20 12:02
こんにちは。

サブメニューですが、現在のバージョン(2.0.4)では、プラグインのものに切り替える仕組みがないのが現状です。
かなり強引かもしれませんが、次のようにするとうまくいくと思います。

$view->viewVars['subMenuElements'][] = '../../../../../app/plugins/プラグイン名/views/elements/admin/submenus/tests';


ちなみに、$bcBaser->setSubMenus() という関数もあります。
こちらの場合、追加でなく上書きとなります。

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

goichi > Re: プラグインのヘルパーフックを使って、サブメニューを増やしたい @ 2012/8/20 22:07
いつもお世話になっております。m(__)m
お返事ありがとうございます!

引用:
サブメニューですが、現在のバージョン(2.0.4)では、プラグインのものに切り替える仕組みがないのが現状です。
かなり強引かもしれませんが、次のようにするとうまくいくと思います。

なるほど、相対パスでファイルまでのパスを記述するのですね!
思いつきませんでした、ありがとうございます!

ただ、あれから色々と試しているうちに、
結局、仮に「page」「page_category」のサブメニューをプラグイン側で表示したとしても、
そのままだと、メニューのリンク先が意図した動きをしない事あると分かりました。
(「Page」の「index」へのリンク(/pages/index)のはずが、
「/プラグイン名/pages/index」になってしまう、というようなものです。)

使い勝手を考えて実装したかったのですが、
今回は一旦あきらめて、まずはリリースできる所まで持って行きたいと思います。
(せっかくご回答頂いたのにすみません!)

引用:
ちなみに、$bcBaser->setSubMenus() という関数もあります。

おおっ、気が付きませんでした。また試してみます!
お忙しいところ、お返事いただき本当に有難うございました。
ryuring > Re: プラグインのヘルパーフックを使って、サブメニューを増やしたい @ 2012/8/20 23:42
こんばんは〜

引用:
そのままだと、メニューのリンク先が意図した動きをしない事あると分かりました。
(「Page」の「index」へのリンク(/pages/index)のはずが、
「/プラグイン名/pages/index」になってしまう、というようなものです。)


こちらは逃げ道あります!
<?php $baser->link('固定ページ一覧', array('plugin' => '', 'controller' => 'pages', 'action' => 'index')) ?>

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

goichi > Re: プラグインのヘルパーフックを使って、サブメニューを増やしたい @ 2012/8/20 23:55
引用:
こちらは逃げ道あります!

おおおおっ! こんなワザがあったとは!
ありがとうございます、色々と勉強になります! m(__)m
ryuring > Re: プラグインのヘルパーフックを使って、サブメニューを増やしたい @ 2012/9/6 22:25
goichiさん

こちらの件、取り急ぎチケットを切りました。

プラグインより管理システムのサブメニューを変更する仕組み

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

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


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

検索

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

フォーラムガイド


関連リンク

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

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