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

Re: テーマ【CMS DESIGN】のお問い合わせフォームが表示されない

n1215 > Re: テーマ【CMS DESIGN】のお問い合わせフォームが表示されない @ 2014/10/14 14:51
横やり失礼します。

公式サイトにプラグインのルーティングについて説明した内容があれば参考にと貼ろうかと思ってたんですが……書いてなさそうですね。
下記にプラグインのルーティングの概要をご説明します。

●プラグインのルーティング
baserCMS(CakePHP)のルーティングでは、
あらかじめルーターに複数登録されたルート(要はURLの規則)の中から
ルーターがリクエストされたURLにマッチするものを順番に探して
どのコントローラとアクションを利用するかを決定します。

CakePHPのプラグインのルーティングはデフォルトでは下記規則に従います。
http://example.com/{プラグイン名}/{コントローラー名}/{アクション名}/{パラメータ1}


例)
Mailプラグインの入力フォームのページ:http://basercms.net/mail/mail/index/1
Blogプラグインの投稿一覧ページ:http://basercms.net/blog/blog/index/2



●プラグインのルートのエイリアス(別URL)
デフォルトのプラグインのルートのURLのままだとかなり冗長になりますね。
baserCMSでは短くわかりやすいURLを利用できるエイリアスとなるルート(以下、便宜的に短縮名ルートと呼称します)を追加しています。

plugin_contentsテーブルに、プラグインが管理するコンテンツに対応する名前(以下、短縮登録名)を登録しておくと
http://examplec.ocm/{短縮登録名}/{アクション名}

というエイリアスが利用できます。

例)
Mailプラグインでは仕様として短縮登録名=メールフォームアカウント名になります。
初期状態ではMailプラグインのコンテンツIDが1のメールフォームが"contact"という短縮登録名で登録されています。

これにより先ほどのCakePHPデフォルトのプラグインのURLに加えて、
http://basercms.net/contact/index

というURLでもフォームを表示することができます。

正常にこのルートにマッチした場合、MailプラグインのMailControllerのindexアクションが利用されます。


●症状と原因について
ContactContorollerが見当たらないという表示が出たということは、本来のプラグインの短縮名ルートにURLがマッチせず、
後続の/{コントローラー名}/{アクション名}型のルートにマッチしているはずです。
※ContactControllerなるコントローラーは存在しない状態が正常ですのでご安心を。

方針としてはプラグインの短縮名ルートにマッチしない原因を探ればいいということになります。


●データベースの中身の確認
goichiさんご指摘の方法で解決しないとなると、
まずはデータベースのplugin_contentsテーブルの中身と整合性が取れているかを確認していただくのが良いかと思います。

データベースはSQLiteとのことなので下記を参考にplugin_contentsテーブルの中身をのぞいてみてください。
http://forum.basercms.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=1648&forum=5&post_id=6201#6201

content_id:1
plugin:'Mail'
name:'contact'

となっているレコード(行)が存在しますか?

Twitter: @n_1215

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


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

検索

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

フォーラムガイド


関連リンク

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

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