バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 【決済画面】お支払方法をラジオボタンからセレクトボックスに

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
samurai
投稿日時: 2010/5/11 18:11
対応状況: −−−
半人前
登録日: 2010/3/18
居住地:
投稿: 16
【決済画面】お支払方法をラジオボタンからセレクトボックスに
現在、決済画面の『お支払方法』を選択する箇所を

標準の『ラジオボタン』から『セレクトボックス』にしたいと思い、
/data/Smarty/templates/furisode/shopping/payment.tpl
を修正しているのですが、

セレクトボックスにすると、『お届け時間』の選択ができず、
『指定なし』のままになってしまいます。

イベントハンドラの記述に問題があるかと思うのですが、
いかんせんそちらの知識がなく困っています。


本来ならEC-CUBEのフォーラムにスレッドを立てるべきではないのかも知れないのですが、お分かりになる方ご教示願えないでしょうか?

よろしくお願いします。


【 元のソース 】


<!--{assign var=key value="payment_id"}-->
<!--{if $arrErr[$key] != ""}-->
<p class="attention"><!--{$arrErr[$key]}--></p>
<!--{/if}-->
<table summary="お支払方法選択" class="tbl640">
<tr>
<th>選択</th>
<th colspan="<!--{if $img_show == false}-->1<!--{else}-->2<!--{/if}-->">お支払方法</th>
</tr>
<!--{section name=cnt loop=$arrPayment}-->
<tr>
<td class="centertd"><input type="radio" id="pay_<!--{$smarty.section.cnt.iteration}-->" name="<!--{$key}-->" onclick="fnModeSubmit('payment', '', '');" value="<!--{$arrPayment[cnt].payment_id}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" <!--{$arrPayment[cnt].payment_id|sfGetChecked:$arrForm[$key].value}--> />
</td>
<td>
<label for="pay_<!--{$smarty.section.cnt.iteration}-->"><!--{$arrPayment[cnt].payment_method|escape}--><!--{if $arrPayment[cnt].note != ""}--><!--{/if}--></label>
</td>
<!--{if $img_show}-->
<td>
<!--{if $arrPayment[cnt].payment_image != ""}-->
<img src="<!--{$smarty.const.IMAGE_SAVE_URL}--><!--{$arrPayment[cnt].payment_image}-->" />
<!--{/if}-->
</td>
<!--{/if}-->
</tr>
<!--{/section}-->



【 変更後 】→『指定なし』のままになってしまいます。

<!--{assign var=key value="payment_id"}-->
<!--{if $arrErr[$key] != ""}-->
<p class="attention"><!--{$arrErr[$key]}--></p>
<!--{/if}-->

<!--{if $arrPayment[cnt].payment_image != ""}-->
<img src="<!--{$smarty.const.IMAGE_SAVE_URL}--><!--{$arrPayment[cnt].payment_image}-->" />
<!--{else}-->

<select name="<!--{$key}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" onChange="fnModeSubmit('payment', '', '');">
<!--{section name=cnt loop=$arrPayment}-->
<option id="pay_<!--{$smarty.section.cnt.iteration}-->" value="<!--{$arrPayment[cnt].payment_id}-->" name="<!--{$key}-->"><!--{$arrPayment[cnt].payment_method|escape}--><!--{if $arrPayment[cnt].note != ""}--><!--{/if}--></option>
<!--{html_options options=$arrPayment.payment_id selected=$arrForm[$key].value}-->
<!--{/section}-->
</select>
<!--{/if}-->



【 お届け時間の箇所のソース 】

<!--{/if}-->
<!--★お届け時間★-->
<!--{assign var=key value="deliv_time_id"}-->
<span class="attention"><!--{$arrErr[$key]}--></span>
<select name="<!--{$key}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->">
<option value="" selected="">指定なし</option>
<!--{html_options options=$arrDelivTime selected=$arrForm[$key].value}-->
</select>


EC-CUBE正式版 2.4.3 を使用しています。
seasoft
投稿日時: 2010/5/11 20:11
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 【決済画面】お支払方法をラジオボタンからセレクトボックスに
可能ならば、実際に表示して確認できる URL を貼っていただくと、支援を受けやすいと思いますよ。参考まで。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

samurai
投稿日時: 2010/5/11 20:40
対応状況: −−−
半人前
登録日: 2010/3/18
居住地:
投稿: 16
Re: 【決済画面】お支払方法をラジオボタンからセレクトボックスに
Seasoftさんいつもありがとうございます。

参考URLの件ですが、守秘義務によりこちらに実際のURLを掲載することはできませんが、

EC-CUBEで構築したサイトで、仮で購入し

カゴの中を見る

購入手続きへ

会員登録しないで購入手続きへ

お客様情報入力

次へ

で表示される『お支払方法』『発送日の指定』を選択する画面です。

よろしくお願いします。
samurai
投稿日時: 2010/5/20 11:31
対応状況: −−−
半人前
登録日: 2010/3/18
居住地:
投稿: 16
Re: 【決済画面】お支払方法をラジオボタンからセレクトボックスに
スイマセン。まだ解決できていません。
このままでは膨大な数のラジオボタンが並びそうです。 泣

どなたかご存知の方いらっしゃいましたらお願いいたします。
Masashige
投稿日時: 2010/5/20 12:15
対応状況: −−−
長老
登録日: 2009/4/1
居住地:
投稿: 200
Re: 【決済画面】お支払方法をラジオボタンからセレクトボックスに
ちゃんと動作確認してませんが。

        <!--{assign var=key value="payment_id"}-->
        <!--{if $arrErr[$key] != ""}-->
        <p class="attention"><!--{$arrErr[$key]}--></p>
        <!--{/if}-->
        <table summary="お支払方法選択">
          <tr>
            <th>選択</th>
          </tr>
          	  <tr><td><select name="<!--{$key}-->">
          <!--{section name=cnt loop=$arrPayment}-->
          <option id="pay_<!--{$smarty.section.cnt.iteration}-->" onclick="fnModeSubmit('payment', '', '');" value="<!--{$arrPayment[cnt].payment_id}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" <!--{$arrPayment[cnt].payment_id|sfGetChecked:$arrForm[$key].value}--> />
          <!--{$arrPayment[cnt].payment_method|escape}--><!--{if $arrPayment[cnt].note != ""}--><!--{/if}--></option>
          <!--{/section}--></select>
          </td></tr>
        </table>
samurai
投稿日時: 2010/5/21 10:44
対応状況: −−−
半人前
登録日: 2010/3/18
居住地:
投稿: 16
Re: 【決済画面】お支払方法をラジオボタンからセレクトボックスに/複数店舗間での物品レンタル・来店予約システム
Masashigeさんありがとうございます。

参考にさせていただき、設置を試みましたがうまくいきませんでした。

現状、<li>の中に逃がしている感じです。↓


<!--{assign var=key value="payment_id"}-->
<!--{if $arrErr[$key] != ""}-->
<p class="attention"><!--{$arrErr[$key]}--></p>
<!--{/if}-->
<table summary="お支払方法選択" class="tbl640">
<tr>
<th colspan="<!--{if $img_show == false}-->1<!--{else}-->2<!--{/if}-->">選択</th>
</tr>

<tr>
<td>
<ul>
<!--{section name=cnt loop=$arrPayment}-->
<li>
<input type="radio" id="pay_<!--{$smarty.section.cnt.iteration}-->" name="<!--{$key}-->" onclick="fnModeSubmit('payment', '', '');" value="<!--{$arrPayment[cnt].payment_id}-->" <!--{$arrPayment[cnt].payment_id|sfGetChecked:$arrForm[$key].value}--> />
<label for="pay_<!--{$smarty.section.cnt.iteration}-->"><!--{$arrPayment[cnt].payment_method|escape}--><!--{if $arrPayment[cnt].note != ""}--><!--{/if}--></label>

<!--{if $img_show}-->
<!--{if $arrPayment[cnt].payment_image != ""}-->
<img src="<!--{$smarty.const.IMAGE_SAVE_URL}--><!--{$arrPayment[cnt].payment_image}-->" />
<!--{/if}--><!--{/if}-->
</li>
<!--{/section}-->
</ul>
</td>
</tr>

</table>

↑本当はこの<li>〜</li>のところをセレクトボックスで<option>〜</option>にしたいんです。


いろいろ試してみたんですが、セレクトボックスで『支払い方法』を選んでも

◇『お届け時間』が、デフォルトの【指定なし】から変らなかったり(他の時間も出てこない)

◇『支払い方法』と連動して、管理画面で登録した『配送業者』が変わらないため、『お届け時間』が切り替わらない

◇『支払い方法』を選択できない


といった感じです。


そもそも今回、EC-CUBEを通常のショッピングカートとして使用するのではなく、
『複数店舗間での物品レンタル・来店予約システム』として利用しようと思い、

【お支払方法を選択】=【店舗名を選択】
【配送方法】=【各店舗の営業時間】
【お届け時間】=【来店予約時間】

として使用したかったため、本来『お支払方法』であるところに、『各店舗名』が来て、
ラジオボタンでは選びにくくなると思い、セレクトボックスにしたかったのです。

(上記の理由から、合計の購入個数を制限することも試みたいと思っています。→同時購入数を制限


知識が乏しく申し訳ございません。
またご指摘いただければ幸いです。よろしくお願いします。
DELIGHT
投稿日時: 2010/5/21 12:22
対応状況: −−−
仙人
登録日: 2010/2/3
居住地: 熊本県・九州・長野県・関東甲信越
投稿: 572
Re: 【決済画面】お支払方法をラジオボタンからセレクトボックスに/複数店舗間での物品レンタル・来店予約システム
すごく即席ですが。

      <select name="<!--{$key}-->" id="<!--{$key}-->" onchange="fnModeSubmit('payment', '', '');">
          <option value="">選択してください</option>
          <!--{section name=cnt loop=$arrPayment}-->
          <option value="<!--{$arrPayment[cnt].payment_id}-->" <!--{if $arrPayment[cnt].payment_id == $arrForm[$key].value}-->selected="selected"<!--{/if}-->><!--{$arrPayment[cnt].payment_method|escape}--></option>
          <!--{/section}-->
      </select>

『sfGetChecked』の戻り値は『checked="checked"』なので、セレクトボックスにした場合は使えない気がします。
※『selected="selected"』を返してくれるものがもしかしたらあるかも・・・

間違っていたら申し訳ありません。

--確認var
EC-CUBEバージョン 2.4.3
PHPバージョン PHP 5.2.9
DBバージョン PostgreSQL 8.3.7


----------------
+ DAISY inc. -------------------- +
EC-CUBE構築・カスタマイズサービス
EC・WEB構築などお気軽にご相談ください。

デイジー株式会社
http://daisy.link/

samurai
投稿日時: 2010/5/21 15:36
対応状況: 解決済
半人前
登録日: 2010/3/18
居住地:
投稿: 16
Re: 【決済画面】お支払方法をラジオボタンからセレクトボックスに/複数店舗間での物品レンタル・来店予約システム
DELIGHTさん

ありがとうございます!完璧です!
即席なんですね☆すばらしいです!

大変助かりました!
有難うございました!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は89,118名です
総投稿数は110,039件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1649
8
red
1570
9
mcontact
1298
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.