で、「会社概要」「お問い合わせ」など、特定のエントリにだけ、メール送信フォームを設置したいのですが、上手くいきません。
小粋空間さん
http://www.koikikukan.com/archives/2006/03/28-010158.php
などを参照し、モジュールなども作ったのですが、特定のエントリにだけメールフォームを設置する方法が分かりません。。。
普通に、その特定のエントリにタグを書いちゃえと思い、メールフォームらしきものは表示されたのですが、「送信」や「確認」を押しても、何も反応しないのです。。。
どなたか、お教え下さい!!
メール送信フォームを設置したいページは、エントリとして作成するのではなく、インデックス・テンプレートとして作成されるのが良いかと思います。
http://www.sixapart.jp/movabletype/manual/3.3/03_blog_admin_guid...
特定のエントリーのみ、エントリー記事の下にメールフォームを表示させたい
このように解釈しました。
http://www.sixapart.jp/movabletype/plugins/regex.html
こちらのプラグインを使ってください。
例:
<MTIfMatches pattern="会社概要/お問い合わせ/">
ここにメールフォーム文
</MTIfMatches>
こんな感じの文を「エントリーテンプレート」に入れてください。そうすると 会社概要 お問い合わせ という題名のエントリーのみ、「ここにメールフォーム文」の部分が表示されます。
これで特定のエントリーだけ表示項目を変える事はできます。
ただし、小粋空間のメールフォームは使えないと思います。なぜならば「エントリーテンプレート」内に設置するものではなく、「インデックステンプレート」として独立している必要があるからです。
解決方法としては
・エントリーテンプレート内に設置するフォームを探す
・会社概要とお問い合わせページをインデックスページとして独立させる
この2点が考えられますね。
あるいは、メールフォームへのリンクを会社概要ページに書いちゃえばもっと簡単ですし、自然な作りのような気がします。
ありがとうございます!!なんか、出来そうな気がしてきました。
その上で二つほど質問を、、、
>「エントリーテンプレート」というのは、「エントリー・アーカイブ」というテンプレートでしょうか?
>「お問い合わせページをインデックスページとして独立させる」には、どうすればいいのでしょうか?
素人ですみません!!が、教えて下さい!!
>ある特定のエントリだけ、表示項目を変えるには、どうすれば良いのでしょうか?
簡単かなと思って静観してましたが、正しく意図が伝わってないみたいですね。
現状こういう状態だということですね。
・インデックステンプレートに、メールフォームを作成は出来た。
それで、つまづいているのは、
・エントリーページ内にメールフォームの設置が出来ない。
・特定のページのみメールフォームが表示されるようにしたい。
結局・問題は「会社概要やお問い合わせフォーム」を、エントリーとして作成しようとしている点にあります。
それを、単独のインデックスページとしてしまえば、何も問題が無いはずです。現在のメールフォームをカスタマイズでも良いと思います。
各エントリーには、ナビゲーションとして、「会社概要やお問い合わせフォーム」へのリンクを入れるのが現実的でしょう。
どうしても、エントリー内に関連項目として、お問い合わせフォームを挿入したい場合には、藤本壱さんのメールフォームプラグイン
http://www.h-fj.com/blog/archives/2007/02/09-092722.php
を使用すると可能です。
ただし、特定のエントリーの「特定」を指定する為に、それなりのギミックが必要になります。
ありがとうございます!
これはまた、違う方法なんでしょうか…。
>「会社概要やお問い合わせフォーム」を、エントリーとして作成
するのではなく、「単独のインデックスページ」にしてしまえば、そのインデックス・テンプレートが反映されるということですね。
で、大変お恥ずかしいのですが、、、
そのページ(エントリでは無いとの事ですね)を、「単独のインデックスページ」にするには、どうすれば良いのでしょうか…?
2回目の回答です。
http://www.h-fj.com/blog/archives/2006/03/09-215350.php
こちらのプラグインを正常に作動させる事はできましたか?
まずはプラグインの設置方法を忠実に守って動かしてみてください。
恐らくその段階でつまづいているように思えます。
さらに「インデックステンプレート」「エントリーテンプレート」「エントリーデータ」の区別がついていないようですね。
この辺はMT制作・管理する上で最も重要な概念となりますので頑張って理解するようにして下さい。
まず1回目の質問におけるコメントにお答えします
>「エントリーテンプレート」というのは、「エントリー・アーカイブ」というテンプレートでしょうか?
そうです、その通りです。
>「お問い合わせページをインデックスページとして独立させる」には、どうすればいいのでしょうか?
まずインデックスページとは何か、を説明します。
ずばりインデックステンプレートによって生成されるページです。
MT管理画面のテンプレートをクリックした時に最初にずらーっと表示されるのがそれに該当します。デフォルトですと「index.html」や「styles-site.css」などが置かれているところですね。
http://www.h-fj.com/blog/archives/2006/03/10-131311.php
こちらの、「1.インデックステンプレートを新規作成する」を参考に自分でテンプレートを作ってみてください。私は「contact.html」というテンプレート名で作りました。
さらにzelaznyさんの回答コメント欄の質問にもお答えします
>そのページ(エントリでは無いとの事ですね)を、「単独のインデックスページ」にするには、どうすれば良いのでしょうか…?
まずはここですね。ここから始めましょう。今まで色々と書き連ねてきましたが、まずはここからですね。zelaznyさんがお書きになっているように
*会社概要やお問い合わせフォーム」を、エントリーとして作成している*
これが決定的にまずいんですね。
それでは試しにインデックスページを作ってみましょう。
1.MT左メニューにある「テンプレート」をクリック
2.「テンプレートを新規作成」をクリック
3.「テンプレート名」に「company」
4.「出力ファイル名」に「company.html」
5.「テンプレートの内容」に「ただ今インデックスページのテスト中です」
6.「保存」をクリック
7.再構築して、「http://www.サイト名.com/company.html」にアクセス
これで表示されているはずです。これがインデックテンプレートを使用したインデックスページです。URLを見てみると、エントリーを使用したページとは全く違うと思います。この辺りから雰囲気を感じてもらえれば理解も早いかと。
とりあえずここまでで。
あと、私は2回目の回答なのでもう回答できません。
回答数の上限を上げてもらうか、あるいはコメントを書き込める設定にして下さい。何か質問があれば必ず答えます。
最初にテンプレートの概念だけ理解してしまえば、後はサクサク進むと思います。頑張ってください!それでは。
あ、ありがとうございますーーー!!!
私のようなド素人に、こんなに丁寧に教えてくださるなんて・・・!!!
はてなってスゴイ!!
tokyosmash先輩、ちょっと頑張ってみますんで、待ってて下さい!!
とりあえず回答制限を5回に上げましたんで、何かあればまた書き込みます!!
ありがとうございます!
ええ、色々見て、インデックス・テンプレートを新規作成し、mail_form.htmlを作成したんですが、「メール送信フォームを設置したいページ」=「お問い合わせページ」だけを、その新規インデックス・テンプレートで設定する方法が分からずなのです。。。
ある特定のエントリだけ、表示項目を変えるには、どうすれば良いのでしょうか?