パーソナルツール
現在の場所: ホーム takalog PloneFormGen 1.7.0 でフォームからメール送信 - Plone 4 Advent Calendar 17日目
書いた本
Plone 完全活用ガイド の Chapter 1, 2, 3, 11 を執筆しました。
plone のインストール、使い方から、機能・デザインのカスタマイズ、プロダクトの作り方まで、 plone のすべてがぎゅっと詰まっている書籍になっていると思います。
plone に興味がある人から、すでに使いこなしている方まで、ぜひ読んでみてください。
Plone 完全活用ガイドのサポートページ
« 2012May »
Su Mo Tu We Th Fr Sa
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
このBlogについて
鈴木たかのりです。とりあえず日記っぽく雑多なことを書き込んでいこうと思っています。 zope/plone関係の技術的な内容については http://takanory.net の方にまとめていこうと思います。 コメント・ツッコミはご自由にどうぞ。
twitter facebook linkedin foursquare
カテゴリ
android (16)
av (27)
books (35)
coreblog (49)
ds (22)
emacs (8)
ferret (24)
google (34)
icecream (44)
lego (70)
mac (22)
misc (74)
moblog (277)
movie (33)
pc (44)
plone (338)
puzzle (42)
python (57)
server (67)
snowscoot (9)
software (125)
sports (32)
suidou (30)
winds (47)
 
文書操作

PloneFormGen 1.7.0 でフォームからメール送信 - Plone 4 Advent Calendar 17日目

作成者 takanori投稿日 2011年12月17日 17時33分 最終変更日時 2011年12月17日 17時48分
Ploud のサイト作成画面
Japanese を選択

Plone 4 Advent Calendar 2011 の17日目です。 本当は昨日が担当予定でしたが、書く時間がなさそうだったため @terapyon と順番を入れ替えてもらいました。ありがとうございます。

今日は Plone の定番アドオンプロダクト(標準機能じゃなく追加することによって機能が追加できるモジュール) PloneFormGen の最新版 1.7.0 の紹介をしたいと思います。

が、その前に ploud.com の新機能の話から。

言語指定メニューが増えた

Ploud のサイト作成画面ですが、ただ作成するだけじゃなくて言語等を指定できるようになりました。

新しいサイト作成画面では Site TypeLanguage の2つの項目が指定できます。 Site Type の選択肢は Plone 4.1 しかありませんでしたが、今後は増えてくるのかも知れません。 Language はそのままですがサイトの言語を指定します。Japanese を選ぶことによって、最初から「ログイン」のように各種メニューなどが日本語化されています。 ただし、トップページやEvents等は英語のままでした。

PloneFormGen

さて、 PloneFormGen の説明です。ploud.com には最新版の 1.7.0 が用意されています。 最初に PloneFormGen について説明すると、Plone 上でアンケートとか会員登録みたいな入力フォームを作成するための、汎用的な機能を提供するプロダクトです。Web の画面上でメール送信フォームなどを作成することができます。

実際に PyCon JP 2011 のサイトでも、Call for Paper の応募や 参加者登録のフォーム として利用していました。

PloneFormGen を使えるようにする

では、ploud.com サイトで PloneFormGen を使ってみます。 管理者としてログインして、右上のユーザメニューからサイト設定→アドオンを選択します。 ここには現在有効になっているアドオンと、利用できる(有効にできる)アドオンが表示されています。 PloneFormGen 1.7.0 の横にあるチェックボックスをチェックし「有効にする」ボタンをクリックして有効にします。

PloneFormGen 1.7.0 を有効にする

すると PloneFormGen が使えるようになり、新規追加メニューに「Form Folder」が増えています。

「新規追加」メニューでForm Folderを追加

Form Folderを選択するとアイテムが作成されるので、タイトルを指定して保存します。

Form Folder を追加

するとこんな感じで「メールアドレス」「件名」「コメント」を書き込めるフォームが作成されました。次にフォームに入力フィールドをを追加します。

フォームができた

QuickEdit

PloneFormGen で作成したフォームに様々な入力フィールドを追加します。 以前は右上の「新規追加メニュー」から「String Field」とかを選んで追加していたんですが、1.7.0 では新たに「QuickEdit」という機能で素早くフィールドの追加、編集ができるような画面が追加されました。

Form Folderを開いている状態で「QuickEdit」タブを選択すると、QuickEdit画面に遷移します。右側の「Toolbox」には追加できる入力フィールド等が表示され、左側に現在の入力フィールドなどが表示されます。

新機能「QuickEdit」

Order の部分を Drag & Drop するとフィールドの順番を変えたり、「☓」アイコンをクリックしてフィールド削除、鉛筆アイコンをクリックしてフィールドの編集ができます。

右側の「ToolBox」からここでは「Checkbox Field」をDrag & Dropしてチェックボックスのフィールドを任意の場所に追加します。

フィールドの詳細を記述

追加するとフィールドのラベルやヘルプ(説明)等を入力しますると、フィールドが追加されます。

Drag & Drop でフィールドを追加

Mailer Adapter の設定

次にメールを送信するための Mailer Adapter の設定を行います。 まず「基本」タブの内容ですが、ここでメールの送信先をしています。

ここで「受信者のメールアドレス」を指定しないと、メールを作成した人のメールアドレスにメールが飛びます。本人にも確認用にメールを送信したい場合には便利な機能だと思います。

Mailer Adapterの編集

参加者登録のときなどは本人とは別に事務局のようなところにもメールを送信して欲しいと思います。その場合は「Addressing」タブを選択し、「CC 受信者」等にメールアドレスを指定します。

Cc: にメールアドレスを設定

メール送信のフォーマットはデフォルトでは HTML メールになっていますが、テキスト形式でメールを送りたい場合もあると思います。その場合は Template タブでメールのテンプレートを記述します。

Template を編集

メールのテンプレートは Zope Page Templates の形式で書くのでちょっとわかりにくいと思います。 私はテキスト形式でメールを送るために、以下のようなテンプレートを使用しています。 Mail-Body Type をテキストにすることもお忘れなく。

<span tal:replace="here/getBody_pre | nothing" />
<tal:block repeat="field options/wrappedFields | nothing">\
<span tal:define="fname field/fgField/getName; value python:request.form.get(fname, '');"\
tal:replace="string:$fname: $value"/></tal:block>
<span tal:replace="here/getBody_post | nothing" />
<span tal:replace="here/getBody_footer | nothing" />

ただ、上記のテンプレートを PloneFormGen 1.7.0 に指定したらなぜかエラーで怒られました。謎です。デフォルトのテンプレートでも怒られたのでなんらかのバグがありそうです。

次は nk24 さんお願いします。

カテゴリ
plone plone
トラックバック用URL:
http://takanory.net/takalog/1279/tbping
コメントを追加

下のフォームに記入してコメントを追加できます。平文テキスト形式。

(必須)
(必須)
(必須)
(Required)
Enter the word

Powered by vine linux, python, zope, plone, coreblog