テーマ【CMS DESIGN】のお問い合わせフォームが表示されない
waves > Re: テーマ【CMS DESIGN】のお問い合わせフォームが表示されない @ 2014/10/15 9:52 |
---|
n1215さん
早速のご回答ありがとうございます。 多少の手間はかかりそうですが、あらかじめバックアップの方法が一番現実的かもしれませんね。 近いうちに実験してみます。 その時にまた結果報告をさせて頂きたいと思います。 本当にありがとうございました。 |
n1215 > Re: テーマ【CMS DESIGN】のお問い合わせフォームが表示されない @ 2014/10/14 19:16 |
---|
waves 様
利用するデータベースに関わらず、 今のところbaserCMSにはデータベースの一部のテーブルだけバックアップしたり、初期データの一部だけを読み込んだりする機能はないですよね。 今回のケースで既存のデータをそのままに修正を行うとすると一部手作業が必要になると思います。 0.あらかじめデータベースのデータをバックアップして退避 (MySQL/PostgreSQL→phpMyAdmin,phpPgAdminなどGUIツールを利用するまたはコマンドラインからダンプ、SQLite→ファイル丸ごとコピー) 1.baserCMSのデータメンテナンス機能でバックアップ 2.ダウンロードされたzipを展開 3.{展開したディレクトリ}/baser/plugin_content.csvに1行追加(または他の初期データ用CSVファイルと置き換え) 4.zipに再圧縮 5.データメンテナンス機能でzipをアップロードしデータを復元 その他の方法としては ・メールフォームを一度消して新しく作り直す ・DB(MySQL/PostgreSQL)やDBファイル(SQLite)を直接ツールなどで編集してpluguin_contentsテーブルにデータを追加する という手も考えられます。 Twitter: @n_1215 |
waves > Re: テーマ【CMS DESIGN】のお問い合わせフォームが表示されない @ 2014/10/14 18:45 |
---|
n1215さん
度々申し訳ございません。 ひとつだけ加えて教えて頂きたいのですが、 今回の解決方法では無事にメールフォームが表示できましたが、 CSVを編集した後に、テーマ一覧で”初期データの読み込み”をクリックした時に
のアラートが表示され、了解し実行しました。 しかし、もしブログ機能に情報や画像などをUPしていたら、その情報は丸ごと消えてしまうものと 認識しているのですが、この状況を回避する事はDBをsqliteで運用している限りは回避できないのでしょうか? それとも何かしらバックアップとるなどで解決策はあるのでしょうか? 無知な質問ばかりで大変お手数をおかけしますが、 もしお分かりになりましたら、お教え願います。 |
waves > Re: テーマ【CMS DESIGN】のお問い合わせフォームが表示されない @ 2014/10/14 17:57 |
---|
n1215さん
詳しい情報等々ご教授して頂き感謝です。 そして、問題の【お問い合わせフォーム】ですが、教えていただいた 通りに”plugin_contents.csv”を修正したところ、無事に 表示することが出来ました! お時間を取らせてしまい、申し訳ございませんでした。 しかし勉強になりました。 本当にありがとうございました。 |
n1215 > Re: テーマ【CMS DESIGN】のお問い合わせフォームが表示されない @ 2014/10/14 15:00 |
---|
調べてみましたが、CMS_DESIGNのテーマの初期データにメールプラグイン用のplugin_contentsのデータが含まれてないようですね。
blog用のnewsだけになっています。 app/webroot/theme/cmsdesign/Config/data/default/plugin_contents.csv
これが原因でしょう。 app/webroot/theme/cmsdesign/Config/data/default/plugin_contents.csv
に変えて初期データを読み込めば大丈夫なのではないかと。 Twitter: @n_1215 |
n1215 > Re: テーマ【CMS DESIGN】のお問い合わせフォームが表示されない @ 2014/10/14 14:51 |
---|
横やり失礼します。
公式サイトにプラグインのルーティングについて説明した内容があれば参考にと貼ろうかと思ってたんですが……書いてなさそうですね。 下記にプラグインのルーティングの概要をご説明します。 ●プラグインのルーティング baserCMS(CakePHP)のルーティングでは、 あらかじめルーターに複数登録されたルート(要はURLの規則)の中から ルーターがリクエストされたURLにマッチするものを順番に探して どのコントローラとアクションを利用するかを決定します。 CakePHPのプラグインのルーティングはデフォルトでは下記規則に従います。
例)
●プラグインのルートのエイリアス(別URL) デフォルトのプラグインのルートのURLのままだとかなり冗長になりますね。 baserCMSでは短くわかりやすいURLを利用できるエイリアスとなるルート(以下、便宜的に短縮名ルートと呼称します)を追加しています。 plugin_contentsテーブルに、プラグインが管理するコンテンツに対応する名前(以下、短縮登録名)を登録しておくと
というエイリアスが利用できます。 例) Mailプラグインでは仕様として短縮登録名=メールフォームアカウント名になります。 初期状態ではMailプラグインのコンテンツIDが1のメールフォームが"contact"という短縮登録名で登録されています。 これにより先ほどのCakePHPデフォルトのプラグインのURLに加えて、
という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 |
waves > Re: テーマ【CMS DESIGN】のお問い合わせフォームが表示されない @ 2014/10/14 14:10 |
---|
goichi > Re: テーマ【CMS DESIGN】のお問い合わせフォームが表示されない @ 2014/10/13 22:32 |
---|
うーん、何ででしょう。素直に考えれば、メールプラグインの設定で、フォーム名を「contact」以外に変更しているとかですが、デフォルトから変更していますか?
|
waves > テーマ【CMS DESIGN】のお問い合わせフォームが表示されない @ 2014/10/13 14:52 |
---|
現在 【CMS DESIGN】を利用しております。
しかし何故か「お問い合わせフォーム」が表示されないので困っています。
そこで一応デバックモードで確認したところ、
との内容が返ってきました。 そこで実際に app/Controller/ContactController.php を確認したところ、 このディレクトリにはContactController.phpが存在していなく、 AppController.phpがありました。 どのようにすればメールフォームが表示されるようになるのでしょうか? お知恵をお貸しください。 baserCMS環境 利用サーバー:ロリポップ スマートURL: OFF セーフモード:Off データベース: SQLite baserCMSバージョン: 3.0.5.1 CakePHPバージョン: 2.5.3 |