Nucleus(JP)フォーラム

NucleusCMS日本語版ユーザーのためのサポートフォーラムです。疑問が生じたらまずは記事検索をご利用ください。

ログインしていません。

#126 2008-03-13 09:27:07

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: NP_ItemFormmail

yotaka さんの発言:

テンプレート:hnmi01の[アイテムの本体]に
“<%more%>”が入っていれば「続き」も表示されるとおもうのですが、

それで正しいと思います
ただ今回の場合

ysjack さんの発言:

テスト中のコードは以下のようになり今のサイトitemに 「続き>>」
は無いので、本文に記入しています。

ということですので、「『続き』に記述しなければならない内容を『本文』に記述した為に起こった不具合」かと思われます

ところでこの NP_ItemFormmailは、アイテムの「続き」から、
プラグインを呼び出しているのですが、
これはどうやったら呼び出せるのでしょうか?

「続き」から呼び出しているわけではなく、Nucleusコアがデータベースからアイテムの内容を読み込んで、アイテム内のNucleus変数をパースする前に実行されるプラグインAPI(event_ PreItem()関数)で、渡されたアイテムの内容の中から『続き』に該当する「more」の内容を独自に変換しています

あとフォームが固定でよければ、アイテム内変数を作って、doItemVar()関数で直接フォーム(なり定型文なり)を差し込むこともできます

オフライン

#127 2008-03-13 13:37:11

ysjack
メンバー
登録日: 2006-10-05
投稿: 74

Re: NP_ItemFormmail

yama.kyms さんの発言:

NP_ItemFormmailはアイテム単位で手軽に設置できるのが便利なんですが、
必ず「続き」に記述しなくてはいけないというのがちょっとした制約です。
そのへん工夫が必要になりますね。
たとえば基本的に「続き」は使わなくても「続き」を利用するテンプレートにするか、
問い合わせ専用にブログを作って、そこだけはNP_ItemFormmail専用のテンプレートを
適用するか、NP_matchを利用して、そのアイテムのページだけフォームが出現する
テンプレートが適用するif文を使うか…といった方法です。

さっそくこの方法で試してみます。
ご教授感謝します。

オフライン

#128 2008-03-16 03:53:22

yotaka
メンバー
From: 名古屋市
登録日: 2006-06-22
投稿: 110
ウェブサイト

Re: NP_ItemFormmail

「続き」から呼び出しているわけではなく、Nucleusコアがデータベースからアイテムの内容を読み込んで、アイテム内のNucleus変数をパースする前に実行されるプラグインAPI(event_ PreItem()関数)で、渡されたアイテムの内容の中から『続き』に該当する「more」の内容を独自に変換しています

あとフォームが固定でよければ、アイテム内変数を作って、doItemVar()関数で直接フォーム(なり定型文なり)を差し込むこともできます

shizukiさん、ありがとうございます。
今すぐは無理ですが、時間があいたら、やってみます。

オフライン

#129 2008-06-15 13:45:21

yoshinori
メンバー
From: 東京
登録日: 2006-08-19
投稿: 12
ウェブサイト

Re: NP_ItemFormmail

NP_ItemFormMailを設置したのですが、
複数のメールアドレスにフォームの内容を送信することは可能でしょうか?
<!%uform(option,sendto,xxx@xxx.com)%!> ですと、1件しか指定できないようですが…。
(既出の質問でしたら申し訳ございません)

オフライン

#130 2008-07-10 11:09:59

yoshinori
メンバー
From: 東京
登録日: 2006-08-19
投稿: 12
ウェブサイト

Re: NP_ItemFormmail

yoshinori さんの発言:

NP_ItemFormMailを設置したのですが、
複数のメールアドレスにフォームの内容を送信することは可能でしょうか?
<!%uform(option,sendto,xxx@xxx.com)%!> ですと、1件しか指定できないようですが…。
(既出の質問でしたら申し訳ございません)

結局、フォーム送信用のメールアドレスをサーバ側で作り、複数のアドレスに転送する方法で対処しました。よくよく考えれば、普通のHTMLのformでも、送信先指定は1件ですから、当たり前でしたね。

オフライン

#131 2008-07-10 11:55:09

yama
Administrator
登録日: 2005-07-07
投稿: 1,242
ウェブサイト

Re: NP_ItemFormmail

試してませんが、セミコロンで区切ると複数指定できるのではないかと思います。

でも、メールサーバ側で複数転送設定を施すほうがスマートですね。僕もそうしてます。

オフライン

#132 2008-09-23 23:09:20

sucoshi
メンバー
登録日: 2007-04-09
投稿: 68

Re: NP_ItemFormmail

こんにちは。また質問させてください。

とても便利なこのプラグインを利用して、携帯からも送信できるフォームを作ってみたのですが、携帯電話ユーザーの特性なんでしょうか、住所、名前(社名など)、コメントなどなど、ありとあらゆる局面で半角カナをぶつけられております。
当然、メールの該当箇所は化けます。

で569行目あたりと、975行目あたりをちょっといじってみました。

//	sucoshi				$ename = $element['value'];
					$ename = mb_convert_kana($element['value'],'asK');
//	sucoshi	$str = mb_convert_kana(trim($str),'as');
		$str = mb_convert_kana(trim($str),'asK');

前者の改造で、確認画面での「名前<メールアドレス>」欄での表示のみ全角カナになったのですが、送信されてきたメールは元の木阿弥でしたorz
後者に至ってはまったく無意味…orz

おそらく、大元のところで mb_convert_kana($str,'K') をかましてやればいいのでしょうが、どのへんがよろしいのかコードを追いきれません。
助けてください。

もう一件、チェックボックスものなどの「checked」が機能しません。
そこで、763行目あたりと982行目あたりをこんなかんじにしてみました。

/* sucoshi
					$text .= "
					<input name='".$postvarname."[$idx][value]' type='radio' value= '$value' $selected />
					<label for='$postvarname.[$idx][value]' >$label</label>
					\n";
*/
					$text .= "<input name='".$postvarname."[$idx][value]' type='radio' value= '$value' $selected />\n<label for='".$postvarname."[$idx][value]' >$label</label>\n";
/* sucoshi
					$text .= "
					<input name='" . $postvarname. "[$idx][value]' type='checkbox' value= '$value' $selected />
					<label for='$postvarname[$idx][value]' >$label</label>\n";
*/
					$text .= "<input name='".$postvarname. "[$idx][value]' type='checkbox' value= '$value' $selected />\n<label for='".$postvarname."[$idx][value]' >$label</label>\n";

これでなんとかチェックボックスの「チェック済み」が実現できたのですが、こんなポピュラーな指定がいままで指摘されなかったはずもないと思うのです。
ちなみに記事の「続き」部分でのフォームの具体的記述は以下のかんじです。

<!%uform(3,checkbox,catalogue,カタログ,checked,カタログ一式)%!>

これ、わたしの記述まちがいとかでしょうか?
みなさんのお知恵をお貸しくださいませ。

オフライン

#133 2008-09-23 23:32:32

yama
Administrator
登録日: 2005-07-07
投稿: 1,242
ウェブサイト

Re: NP_ItemFormmail

プログラミングは苦手なんですが、ざっと見た感じ。そこで見ている$strってのは
メアドのみしかチェックしてないような気がします。
$senddata['contents']じゃないのかな?(自信なし)

あと、チェックボックスの件報告ありがとうございます。あとで調べてみて
確認できたら反映させていただきますね。

オフライン

#134 2008-10-06 01:52:12

sucoshi
メンバー
登録日: 2007-04-09
投稿: 68

Re: NP_ItemFormmail

こんにちは。
半角カナ問題、なんとなくできたみたいなので、書き込んでみます。
467行目付近をちょっと直します。

					if (is_array($_POST[$postvarname]['email'])){
						$zenkaku_email_name=mb_convert_kana($_POST[$postvarname]['email']['name'],'asKV');//	sucoshi+yamabuki
						$this->receipt['contents'] .=
//	sucoshi+yamabuki		undoMagic($_POST[$postvarname]['email']['name'])."<".$_POST[$postvarname]['email']['value'].">\n\n";
							undoMagic($zenkaku_email_name)."<".$_POST[$postvarname]['email']['value'].">\n\n";
						$this->receipt['mailaddress'] = $_POST[$postvarname]['email']['value'];
						if (isset($zenkaku_email_name) && strlen($zenkaku_email_name)> 2 ) {
/*	sucoshi+yamabuki
							$this->receipt['name'] = $_POST[$postvarname]['email']['name'];
							$this->commentdata['mailname'] = $_POST[$postvarname]['email']['name'];
*/
							$this->receipt['name'] = $zenkaku_email_name;
							$this->commentdata['mailname'] = $zenkaku_email_name;
						}
					}

会社さんとかの場合、企業名にカタカナが使われていたりするので、名前に関連するパートも全角カナ化します。
同じプロパティが頻出するので、一旦作業用の変数を作って、それを使いまわしてみました。
mb_convert_kana() のオプションは、今回から 'asKV' としてみました。
次にメールの本体を扱っているらしい485行目あたりも直します。

						if (is_array($val)){
/*	sucoshi+yamabuki
							$this->receipt['contents'] .= undoMagic($val['name']." = ".$val['value'])."\n";
							$this->commentdata['contents'] .= undoMagic($val['name']." = ".$val['value'])."\n";
*/
							$this->receipt['contents'] .= undoMagic($val['name']." = ".mb_convert_kana($val['value'],'asKV'))."\n";
							$this->commentdata['contents'] .= undoMagic($val['name']." = ".mb_convert_kana($val['value'],'asKV'))."\n";
						} else {
							$this->receipt['contents'] .= undoMagic("$key = $val")."\n";
							$this->commentdata['contents'] .= undoMagic("$key = $val")."\n";
						}

こちらも、作業用の変数にしようかと思ったのですが、undoMagic() というのがなにをするものなのか、よくわからなくて怖かったのでやめました。
さらに609行目あたりも直します。

							case "ename": 
								if (strlen($val['value'])>0) {
									$zenkaku_ename=mb_convert_kana($val['value'],'asKV');//	sucoshi+yamabuki
									$bodydata[$key]['value'] .= $this->_suniview($zenkaku_ename._IFORM_ENAME_SAMA);
									$hiddenfields .= '<input name="'.$postvarname.'[email][name]"
										type="hidden" value="'.$this->_suni($zenkaku_ename)._IFORM_ENAME_SAMA .'"/>'.$linefeed;
/*	sucoshi+yamabuki
									$bodydata[$key]['value'] .= $this->_suniview($val['value']._IFORM_ENAME_SAMA);
									$hiddenfields .= '<input name="'.$postvarname.'[email][name]"
										type="hidden" value="'.$this->_suni($val['value'])._IFORM_ENAME_SAMA .'"/>'.$linefeed;
*/
								} else {
									$this->inputcheck = false;
									$bodydata[$key]['value'] .= _IFORM_ERROR_NO_CONTENT;
								}
								break;

最後のやつは、送信されてくるメールの「●●様=○○@○○」にあたるところのようですが、ここを見つけるのがとてもたいへんでした。
こちらも作業用の変数を作って、それを使いまわしています。
/**/で挟んだのは元のコードです。
行末に//でコメントしてあるのは新設です。
流儀とか決まりごととかよくわかっていないので、激しく汚いコードになってしまって恥ずかしいですorz

とりあえず以上の改造で、なんとか半角カナが全角カナにできているのですが、果たしてこれでいいのかどうか全く自信がありません。
PHP や Nucleus プラグインにお詳しい方々に、ぜひチェックしていただければと思います。
以上、よろしくお願いいたします。

オフライン

#135 2009-03-06 11:52:31

drc-s
メンバー
登録日: 2008-06-04
投稿: 1

Re: NP_ItemFormmail

いつも皆様のお知恵を参考にさせていただいております。
ありがとうございます。

itemFormmailで自動返信メールの内容に問合せの内容も入るようにしたいのですが、
どうしても方法が分りませんでした。

初心者ですので、検討違いの質問かもしれませんが、
何卒、ご教授よろしくお願いいたします。

オフライン

#136 2009-06-08 15:49:20

yama
Administrator
登録日: 2005-07-07
投稿: 1,242
ウェブサイト

Re: NP_ItemFormmail

drc-s さんの発言:

itemFormmailで自動返信メールの内容に問合せの内容も入るようにしたいのですが、
どうしても方法が分りませんでした。

質問に気付くのが遅くなっちゃいましたが、

$this->replydata['body'] = $this->form['autoreplybody'] という記述があるので、これを
$this->replydata['body'] = $this->form['autoreplybody'] . $this->receipt['contents'] などとするとよさそうに思います。$this->replydata['body']というのはあらかじめ用意される定型文なので、この内容を「下記の内容をお受けしました」などとするとちょうどいいと思います。

オフライン

#137 2009-06-08 15:53:02

yama
Administrator
登録日: 2005-07-07
投稿: 1,242
ウェブサイト

Re: NP_ItemFormmail

少し仕様を変更した v0.6のテスト版です。

<h2>メール送信フォーム</h2>
<!%itemformmail%!>
<form method="post" action="">
●お名前:     <!%uform(1,text,    名前,ename)%!>
●おところ:   <!%uform(2,text,    住所)%!>
●コメント:   <!%uform(3,textarea,コメント,need,cols="20" rows="5")%!>
●地域:       <!%uform(4,select,  地域,need,
選択してください/ /
東京//selected
大阪
名古屋
福岡
その他)%!>
●性別:       <!%uform(5,radio,性別,,男性
女性//selected
不明)%!>
●未成年?:   <!%uform(6,checkbox,未成年?,,未成年//checked)%!>
●E-Mail:    <!%uform(7,text,メールアドレス,email)%!>
●確認用:     <!%uform(8,text,,confirm)%!>
<!%captcha%!>
<input type="hidden" value="true"  name="sendmail" />
<input type="submit" value="送 信" class="formbutton" />
<input type="reset"  value="リセット" class="formbutton" />
<!%uform(option,title,ホームページからの送信)%!>
<!%uform(option,successmessage,
お問い合わせありがとうございます。
すぐ返事します。)%!>
</form>
<!%/itemformmail%!>

上記のように、<!%uform%!>タグの第3パラメータを省略しました。


Attachments:
zip NP_ItemFormmail.zip, Size: 8.05 KiB, Downloads: 323

オフライン

#138 2010-03-17 23:31:44

kuri
メンバー
登録日: 2006-05-23
投稿: 41

Re: NP_ItemFormmail

お世話になっております。

表題の通りなのですが、
「オプションの設定」画面で記述した、「送信完了時のメッセージ」が表示されず、
非常に困っております・・・ :cry:

考えられる原因と解決策を教えて頂けないでしょうか。

なお、私の環境は
Nucleus 3.41
ItemFormmail alpha 0.5.7
です。

それでは、宜しくお願い致します。

オフライン

#139 2012-04-01 14:44:06

herbsman
メンバー
登録日: 2010-03-06
投稿: 7

Re: NP_ItemFormmail

kuri さんの発言:

お世話になっております。

表題の通りなのですが、
「オプションの設定」画面で記述した、「送信完了時のメッセージ」が表示されず、
非常に困っております・・・ :cry:

考えられる原因と解決策を教えて頂けないでしょうか。

なお、私の環境は
Nucleus 3.41
ItemFormmail alpha 0.5.7
です。

それでは、宜しくお願い致します。

お世話になっております。
その後解決されましたでしょうか?
私もこの症状に悩まされております。
<!%uform(option,successmessage,〜 で設定してもダメでした..。

nucleusは大好きなのですがフォーム系プラグインが少ないですね。
機能的には、このプラグインを使用したいのですがこの症状がどうしてなのかわかりません...。
環境は
Nucleus 3.41
ItemFormmail alpha 0.5.7
です。

ヨロシクお願い致します。

オフライン

#140 2012-04-01 16:44:33

Reine
Administrator
From: 大阪
登録日: 2006-06-27
投稿: 80

Re: NP_ItemFormmail

問題解決のためには少し情報が少ないかもしれません。

NP_ItemFormmailのソースコードを少し眺めてみましたが、
送信完了時のメッセージ設定項目はプラグインオプションとブログ設定オプションそれぞれに存在していて、送信先が設定されている場合はブログ設定オプション側の設定が使われているようです。

ブログ設定側に送信完了時のメッセージを設定しているでしょうか?

確認お願いします。

オフライン

#141 2012-04-01 19:44:55

herbsman
メンバー
登録日: 2010-03-06
投稿: 7

Re: NP_ItemFormmail

Reineさん
早々にありがとうございます。
プラグインオプションとブログ設定の両方にデフォルトでメッセージが入っていますのでそのまま両方に入っている状態です。

それで更に<!%uform(option,successmessage,〜 の設定でも送信完了時のメッセージを出す事ができますが、こちらの設定をしてもしなくても完了時のメッセージは出力されない状況です。

サーバーはhtemlでPHP4,MySQL5,Nucleus 3.41,ItemFormmail alpha 0.5.7という環境です。

同サーバーに別ドメインでNucleus 3.30でも運用していますが、こちらは正常に表示されています..。
こちらのうまく表示される環境でもプラグインオプションとブログ設定の両方にメッセージが入っています。

という感じなのですが...。
説明不足かもしれませんが宜しくお願い致します。

オフライン

Board footer