バージョン選択

フォーラム

メニュー

オンライン状況

87 人のユーザが現在オンラインです。 (77 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 87
もっと...

サイト内検索

質問 > フロント機能 > お問い合わせフォームにサンプル請求を追加したい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hachimida
投稿日時: 2011/5/26 15:58
対応状況: −−−
新米
登録日: 2011/5/26
居住地:
投稿: 3
お問い合わせフォームにサンプル請求を追加したい
初めてEC-CUBEをダウンロードしてサイトを構築しております。
お問い合わせフォームにサンプル請求として、チェックボックスで選択(複数選択可)してもらって送信する機能を追加したいと考え、以前このフォーラムでもご質問されていたのでそれを参考にし、テンプレートやphpファイルを変更している最中です。現在、フォームは完成し、ブラウザで確認用の画面まではうまく表示させることができました。しかし送信したメール本文にはチェックボックスで選択した値(文字)が適用されず表示できません。
どうすれば良いか教えていただけないでしょうか?
どうぞよろしくお願い致します。

------------------------------------------------------------------------------------------
[EC-CUBE] 2.11.1、新規インストール
[レンタルサーバ] 自社サーバー
[OS] CentOS Linux 5.6
[PHP] PHP 5.2.17
[データベース] MySQL 5.0.77
[ブラウザ] Firefox4.01
------------------------------------------------------------------------------------------
下記に変更、追加したものを記載致します。


------------------------------------------------------------------------------------------
/data/Smarty/templates/default/contact/
index.tpl
<table summary="お問い合わせ"> </table>内
--------------------------------------------
<tr>
<th>ご希望のサンプル<span class="attention">※<br />複数選択可</span></th>
<td>
<p>
<label><input type="checkbox" name="sample[]" value="1" <!--{if $arrForm.sample != '' && in_array('1',$arrForm.sample)}--> checked="checked" <!--{/if}--> />サンプル1</label>
<label><input type="checkbox" name="sample[]" value="2" <!--{if $arrForm.sample != '' && in_array('2',$arrForm.sample)}--> checked="checked" <!--{/if}--> />サンプル2</label><br />
<label><input type="checkbox" name="sample[]" value="3" <!--{if $arrForm.sample != '' && in_array('3',$arrForm.sample)}--> checked="checked" <!--{/if}--> />サンプル3</label>
<label><input type="checkbox" name="sample[]" value="4" <!--{if $arrForm.sample != '' && in_array('4',$arrForm.sample)}--> checked="checked" <!--{/if}--> />サンプル4</label>
</p>
</td>
</tr>


------------------------------------------------------------------------------------------
/data/class/pages/contact/
LC_Page_Contact.php
function lfInitParam(&$objFormParam) { }内
--------------------------------------------
$objFormParam->addParam("ご希望サンプル", 'sample' , array("column" => "sample", "convert" => "KVa" ));


------------------------------------------------------------------------------------------
/data/Smarty/templates/default/contact/
confirm.tpl
<table summary="お問い合わせ内容確認"> </table>内
--------------------------------------------
<tr>
<th>ご請求サンプル内容</th>
<td>
<!--{if $arrForm.sample != '' && in_array('1',$arrForm.sample.value|escape)}-->サンプル1<br /><!--{/if}-->
<!--{if $arrForm.sample != '' && in_array('2',$arrForm.sample.value|escape)}-->サンプル2<br /><!--{/if}-->
<!--{if $arrForm.sample != '' && in_array('3',$arrForm.sample.value|escape)}-->サンプル3<br /><!--{/if}-->
<!--{if $arrForm.sample != '' && in_array('4',$arrForm.sample.value|escape)}-->サンプル4<!--{/if}-->
<!--{foreach from=$arrForm.sample item=val}-->
<input type="hidden" name="sample[]" value="$val" />
<!--{/foreach}-->
</td>
</tr>


------------------------------------------------------------------------------------------
/data/Smarty/templates/default/mail_templates/
contact_mail.tpl
最終行追加
--------------------------------------------
ご請求サンプル内容
<!--{if in_array('1',$arrForm.sample.value|escape)}-->サンプル1<!--{/if}-->
<!--{if in_array('2',$arrForm.sample.value|escape)}-->サンプル2<!--{/if}-->
<!--{if in_array('3',$arrForm.sample.value|escape)}-->サンプル3<!--{/if}-->
<!--{if in_array('4',$arrForm.sample.value|escape)}-->サンプル4<!--{/if}-->
<!--{foreach from=$arrForm.sample item=val}-->
種類:<!--{$arrForm.sample.$val|escape}-->
<!--{/foreach}-->
<!--{$tpl_footer}-->

------------------------------------------------------------------------------------------
以上になりますが、ブラウザの確認用画面まではうまく表示されており、メール本文が
ご請求サンプル内容

と空白になっております。
おそらくcontact_mail.tplの記述がおかしいのだと思うのですが、phpの知識がなく、困っております。また、他にも変更しないといけないファイルや箇所があるかもしれません。
どなたか教えていただけないでしょうか?
よろしくお願い致します。
patapata
投稿日時: 2011/5/26 18:21
対応状況: −−−
仙人
登録日: 2010/7/7
居住地: 神奈川県
投稿: 502
Re: お問い合わせフォームにサンプル請求を追加したい
確認ページに値が渡せてませんよ。

<!--{foreach from=$arrForm.sample item=val}-->
<input type="hidden" name="sample[]" value="$val" />
<!--{/foreach}-->


↓こんな感じに変更しましょう


<!--{foreach from=$arrForm.sample.value item=val}-->
<input type="hidden" name="sample[]" value="<!--{$val}-->" />
<!--{/foreach}-->


---駄文---
またどうでもいいですが、
ダウンロードサイトでソフトの無料版ってことなら・・・
無料商品として登録すれば通常商品同様に管理できると思うのですが(゜o゜)
hachimida
投稿日時: 2011/5/27 14:30
対応状況: 確認中
新米
登録日: 2011/5/26
居住地:
投稿: 3
Re: お問い合わせフォームにサンプル請求を追加したい
patapata様
どうもありがとうございました。
うまくメール表示も動作いたしました。
無料商品として登録すれば通常商品同様に管理できる方法も併用して使用したいと思います。
ただ、使用するサンプルはダウンロード商品ではなく、全然違う商品なのでそれぞれを一括して選択し請求してもらおうと思っていますので大変助かりました。

あと、あつかましくて恐縮なのですが、ひとつ教えていただけないでしょうか?

現状の送信されたメールの本文では
------------------------------------------------------------------------
■ご請求サンプル内容
サンプル1サンプル2サンプル3サンプル4

------------------------------------------------------------------------
という風になりますが、サンプルごとに改行しようと思い、
contact_mail.tplファイルを下記のように<!--{""}-->を追加したら
------------------------------------------------------------------------
■ご請求サンプル内容
<!--{if in_array('1',$arrForm.sample.value|escape)}-->サンプル1<!--{/if}--><!--{""}-->
<!--{if in_array('2',$arrForm.sample.value|escape)}-->サンプル2<!--{/if}--><!--{""}-->
<!--{if in_array('3',$arrForm.sample.value|escape)}-->サンプル3<!--{/if}--><!--{""}-->
<!--{if in_array('4',$arrForm.sample.value|escape)}-->サンプル4<!--{/if}-->
<!--{foreach from=$arrForm.sample.value item=val}-->
<!--{$arrForm.sample.$val|escape}-->
<!--{/foreach}-->
------------------------------------------------------------------------
(サンプル1とサンプル3を選択した場合)
■ご請求サンプル内容
サンプル1

サンプル3


(サンプル2とサンプル4を選択した場合)
■ご請求サンプル内容

サンプル2

サンプル4


という風に選択していない値のところも改行だけしてしましまいます。
<!--{if in_array('1',$arrForm.sample.value|escape)}-->サンプル1<!--{""}--><!--{/if}-->
だと改行もしませんでした。
上記ファイルの記述が強制的に改行になっているのですが、

(サンプル1とサンプル3を選択した場合)
■ご請求サンプル内容
サンプル1
サンプル3

という風に選択した値だけを改行で記載させるにはどうしたらよいのでしょうか?
お手数おかけしますがお教えしていただけないでしょうか?
どうぞよろしくお願いいたします。
patapata
投稿日時: 2011/5/27 18:34
対応状況: −−−
仙人
登録日: 2010/7/7
居住地: 神奈川県
投稿: 502
Re: お問い合わせフォームにサンプル請求を追加したい
(ーー;)???
単純に1行でなく2行にするとかじゃ駄目なのか・・・


<!--{if in_array('1',$arrForm.sample.value|escape)}-->サンプル1
<!--{/if}-->
<!--{if in_array('2',$arrForm.sample.value|escape)}-->サンプル2
<!--{/if}-->
<!--{if in_array('3',$arrForm.sample.value|escape)}-->サンプル3
<!--{/if}-->
<!--{if in_array('4',$arrForm.sample.value|escape)}-->サンプル4
<!--{/if}-->
hachimida
投稿日時: 2011/5/30 10:37
対応状況: −−−
新米
登録日: 2011/5/26
居住地:
投稿: 3
Re: お問い合わせフォームにサンプル請求を追加したい
patapata様

どうもありがとうございました。
開始if、閉じifの次の改行コードは無視されるのですね。
勉強になりました。
お手数おかけし申し訳ございませんでした。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,722名です
総投稿数は109,953件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1286
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.