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

プラグインのスマートURL

hide001 > プラグインのスマートURL @ 2011/1/14 17:37
BaserCMS1.6.8
CentOS5
PHP5.2
MySQL5.1
スマートURL:ON
という環境です。
Blogプラグインを参考にプラグインを制作しています。
それをblog2としてその中にnews2を作ったとします。
blogならnewsというブログアカウントが標準でありますので
/news/
で表示されます。同じように
/news2/
で表示させるようにしたいのです。現状は
404 NOT FOUND
エラー : リクエストされたアドレス '/news2' はこのサーバにありませんでした。
です。
どこらへんをチェックすればいいでしょうか?
ryuring > Re: プラグインのスマートURL @ 2011/1/14 17:56
こんにちは。

プラグインのルーティングについては、
/baser/config/routes.php を見ていただくと、88行目あたりで、
PluginContent::addRouteを利用してルーティングを追加しています。

上記メソッドは、plugin_contents テーブルを参照して、プラグイン用のルーティングを追加する機能を有します。

つまり、plugin_contents テーブルへのプラグイン情報の登録が必要となるという事です。

name フィールドに代替名、plugin フィールドにプラグイン名をセットします。
複数のコンテンツを保有するプラグインの場合、content_id にコンテンツを特定する番号をセットすると、次のようなURL変換が行われます。

【設定値】
name ・・・ news2
plugin ・・・ hoge
content_id ・・・ 2

【変換例】
/news2/index → /hoge/index/2

そして、作ったコントローラーをPluginsControllerを継承させていると、
content_id を、$this->contentId で参照する事ができます。

ドキュメントがないので少しややこしいですね・・・
頑張ってくださーい!

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

hide001 > Re: プラグインのスマートURL @ 2011/1/14 19:08
こんにちは、hide001です。
ご挨拶が後れましたが2011/01/21の福岡での勉強会参加申し込みを機にtwitterアカウントと同じ名前にしました。以前はlilac001で質問しておりました。

シンプルにphpMyAdminでplugin_contentsテーブルに
id:3
content_id:1 (news1はblog2プラグインのcontent_idが1です)
name:news2
plugin:blog2

で変換できました。
ありがとうございます。

実際の制作ではcakephpの領分、BaserCMSの領分、それとthemedやpluginのカスタマイズされた領分があり、それぞれに知識が必要でどこを参照しているかがピンとこないので、document整備、期待しています。

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


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

検索

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

フォーラムガイド


関連リンク

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

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