BlenderのSSS(サブサーフェススキャッタリング)で人肌目指すRubyOnRailsでcsvデータ読み込む

2010年11月05日

concrete5外部フォーム作成メモ

今既存のホームページをconcrete5に移植するという作業を行っているのですが、
その際に外部フォームを作成しなければならなくなり、それがイマイチわからなかったので、
忘れないうちにメモを残しておきます。

先ず、ブロックの「外部フォーム」から呼び出せるフォームを追加したいのですが、
イマイチわからない。

こちらの記事とサンプルを参考にさせていただきました。
http://luvsic.net/item/117
(大変ありがたいことに、サンプルも落とせます)

やりたいこととしては

・メール送信フォームを作る
・フォームは何種類かある
・この際、以下2種類の画面面遷移で実装する
 遷移1.フォーム入力画面->確認画面->完了画面
 遷移2.フォーム入力画面->完了画面
・管理者と入力者両方にメールを送信する


そこで最も簡単なフォーム形式でex_form1,ex_form2を作ってみました。
ex_form3は上述のサイト様から落としたサンプルそのままです。

サンプル
(コードが汚くて恥ずかしいのですが)

こんなふうに↓配置すれば外部フォームリストの中に、カスタマイズ追加した外部フォームが追加されるはずです。

[concrete5のroot]/blocks/external_form

ex_form1:名前とメールアドレスを送信するだけのもの。遷移1
ex_form2:名前とメールアドレスを送信するだけのもの。遷移2
ex_form3:テキストボックス以外の要素(ラジオボタン、テキストエリア、セレクトボックス)もあるもの。遷移1


<気づいた点>
例えば「ex_form1.php」を例にすると、

必須ファイル
以下のファイルは対になっているようです。
external_form/forms/ex_form1.php


external_form/forms/controller/ex_form1.php


ネーミングルール
・ex_form1.phpとすると、外部フォームリストには「Ex Form1」と表示されます。
・controller/ex_form1.php 内のクラス名は必ず「ExForm1ExternalFormBlockController」でなければならないようです。
ex_form2.phpだと、「ExForm2ExternalFormBlockController」でしょうか。
・フォームのactionに指定したい場合は「action_なんとか」という名前にする。(後述)


飛び先の指定
formのアクションは別ページも指定できますが、
controller/ex_form1.phpのメソッドを実行する形が無難だと思います。

<form action="<?=$this->action('send')?>"

(これは「ExForm1ExternalFormBlockController」の「action_send」というメソッドを呼び出していることになるみたいです。)

追加方法
「Ex Form4」を追加したい場合、以下のようにファイルを作成します。
/forms/ex_form4.php

/forms/controller/ex_form4.php

このファイルの中は以下のようにクラスを定義します。


<php
defined('C5_EXECUTE') or die(_("Access Denied."));
class ExForm4ExternalFormBlockController extends BlockController {

public function action_nantoka() {
$this->set('response', 'hogehoge');
return true;
}
}
?>



shomone at 12:12│Comments(8)TrackBack(0) concrete5 

トラックバックURL

この記事へのコメント

1. Posted by 仲田艶子   2011年04月06日 14:36
4 concrete5で自動返信のフォームを探していたので感謝感謝です。
有難うございました。
2. Posted by shomone   2011年05月05日 23:51
ありがとうございます。参考にしていただいて嬉しいです。
3. Posted by supercentralon   2011年11月27日 10:45
これは日本軍とアメリカ軍、どっちの武器だろーか。
生懸命頑張ることが、人生の意義と考える努力至上主義者。
この療法は創傷(潰瘍などの傷)の治療として行われるものです。
般質問松尾初秋江原。
4. Posted by ed 治療法|ノルバスク ジェネリック   2011年11月28日 19:06
プロペシア wiki
バイアグラ 神戸
リピトール 10
5. Posted by zeptodeclarationbid   2011年11月29日 14:29
人間である限り、必ずどちらかに入れ込みますから。
全国社会保険労務士会連合会ホームページより(
日本の秋の夕べはつるべ落とし。
6. Posted by enautographni   2011年12月01日 17:22
緒の事を専用の用紙に記入しないといけなくてなんて面倒なんでしょうね。
「けっこう動けるじゃん」とその日は思うんですが、翌日いえ翌々日にドンときます筋肉痛だけではありません。
7. Posted by zygosummonus   2011年12月01日 22:24
小生も1年に12回総合病院に行くが、長いと数時間は待たされる。
ハリケーンが残した未曾有の人災貧困層を襲ったジェノサイド(画像ソース:9井上美しの国日本へ帰ろう、ワンクリック!
8. Posted by zygrulingok   2011年12月01日 22:39
乳はバター茶のバターに暖かい毛は衣服やテントにとチベット人には無くてはならない大切な動物です。
同じようにリスクに対する説明はされるべきと思いたいですが、こちらも深刻なように感じてしまいます。

コメントする

名前
URL
 
  絵文字
 
 
BlenderのSSS(サブサーフェススキャッタリング)で人肌目指すRubyOnRailsでcsvデータ読み込む