バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > お届け先入力画面に、必須項目の追加(ラジオボタン)

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
AMUAMU
投稿日時: 2010/6/26 13:27
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: お届け先入力画面に、必須項目の追加(ラジオボタン)と、受注管理画面への反映
保存時の処理、読み込みの処理、修正時の上書きの処理それぞれがきちんと働いているか確認してみましょう。
SQL発行前後をデバッグ出力させると分かりやすいと思います。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

eijixAG
投稿日時: 2010/6/25 15:32
対応状況: −−−
新米
登録日: 2010/6/16
居住地: 大阪府
投稿: 9
Re: お届け先入力画面に、必須項目の追加(ラジオボタン)と、受注管理画面への反映
>DELIGHT様

回答ありがとうございます。

あ、そうですね。
PHP修正してなかったです。

▼LC_Page_Admin_Order_Edit.php
90行目付近(function init内)
--------------------------------------------------
$this->arrele = $masterData->getMasterData("mtb_elevator");

370行目付近(function lfInitParam内)
--------------------------------------------------
$this->objFormParam->addParam("エレベータ", "order_elevator", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));

========================================

以上、2箇所に追加したのですが、未だ上手くいかないです。

ちなみに、受注確認メールには項目追加できてるので、ハリボテの入力項目ではないと思うんですが。
データ渡しが上手くできてないのでしょうか。
DELIGHT
投稿日時: 2010/6/24 19:18
対応状況: −−−
仙人
登録日: 2010/2/3
居住地: 熊本県・九州・長野県・関東甲信越
投稿: 572
Re: お届け先入力画面に、必須項目の追加(ラジオボタン)と、受注管理画面への反映
編集をするということは
登録したり、
データ取得したりいろいろ処理をしなければならないので、
php部分のカスタマイズが必要かと思いますが、
php部分の実装はされていますか?

LC_Page_Admin_Order_Edit.php に追加した項目関係で処理を足さなければならないと予想されます。

外していたら申し訳ありません。


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

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

eijixAG
投稿日時: 2010/6/24 16:03
対応状況: −−−
新米
登録日: 2010/6/16
居住地: 大阪府
投稿: 9
Re: お届け先入力画面に、必須項目の追加(ラジオボタン)と、受注管理画面への反映
さらに、質問です。

おかげさまで、お届け先入力のカスタマイズは完了しました。
また、確認メールへの追加にも対応しました。

ただ、管理する側として、受注管理画面にも情報が欲しいわけでして。
欄を作るのは、実質HTMLベースですし簡単に増やせたんですが、入力データの反映ができなくて困りました。

以下に、ソースをコピペ(抜粋)します。

▼注文時の入力画面テンプレート
data/smarty/templates/default/shopping/nonmember_input.tpl
========================================
<tr>
<th>エレベータ<span class="attention">※</span></th>
<td>
<!--{assign var=key value="order_elevator"}-->
<span class="attention"><!--{$arrErr[$key]}--></span>
<!--{if $arrErr[$key]}-->
<!--{assign var=err value="background-color: `$smarty.const.ERR_COLOR`"}-->
<!--{/if}-->
<!--{html_radios name="$key" options=$arrele selected=$arrForm[$key].value style="$err"}-->
</td>
</tr>
========================================

▼管理ページ受注管理テンプレート
data/smarty/templates/default/admin/order/edit.tpl
========================================
<tr class="fs12n">
<td bgcolor="#f2f1ec" width="110">エレベータ</td>
<td bgcolor="#ffffff" colspan="3">
<!--{assign var=key value="order_elevator"}-->
<input type="radio" name="<!--{$key}-->" value="1" <!--{if $arrForm.order_elevator == "1"}-->checked<!--{/if}--> />あり <input type="radio" name="<!--{$key}-->" value="2" <!--{if $arrForm.order_elevator == "2"}-->checked<!--{/if}--> />なし
</td>
</tr>
========================================

以上のコードを追加したのですが、欄が出来るだけでどちらにもチェックがつきません。
入力画面でいう、性別の項目をマネしており、値が1のとき「あり」で2のとき「なし」です。

解決の手がかりになるようなヒントや、過去のカスタマイズ例があれば教えてください。
もし、足りない情報が足りないようでしたら、そのつど追加します。

よろしくお願いします。
eijixAG
投稿日時: 2010/6/23 15:13
対応状況: −−−
新米
登録日: 2010/6/16
居住地: 大阪府
投稿: 9
Re: お届け先入力画面に、必須項目の追加(ラジオボタン)
>AMUAMU様

回答、ありがとうございます。

(1),(2)については、マスターデータのテーブルを作成し、管理ページのマスターデータ管理画面にて設定後、カスタマイズが上手くいきました。

(3)については、一晩寝かせてデフォルト状態から取り組みましたら、あっさり出来ました。おそらくname属性やその他パラメータ的なものが、修正しきれてなかったものと思われます。
同じく必須項目チェックも、期待通りの動きになりました。

マスターテーブルって、自分で作れるんですね。
厳密にはテーブルを作れるのは分かってたんですが、DBに存在するのに管理画面のマスターデータ管理に存在しないテーブルもあったので、何か特別なものなのかと思ってました。
また一つ、勉強になりました。

ありがとうございました。
AMUAMU
投稿日時: 2010/6/23 3:16
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: お届け先入力画面に、必須項目の追加(ラジオボタン)
引用:
1)ラジオボタン入力が「性別」で使われているのですが、逆に「性別」しかないので、他に項目を追加するときにどの部分で「エレベータ」の項目であるのかを区別させればよいのかが、わからない。←ラジオボタン項目が2つ以上あれば、それぞれ見比べて区別方法を割り出しやすいのですが。


HTMLレベルの話であればname属性です。

引用:
(2)同じく性別項目における、「男性」「女性」という項目名、どこから引っ張ってきてるのか。


マスターデータ、性別で言えばmtb_sexです。

引用:
(3)電話番号や郵便番号のような、複数個で1セットでない項目の追加の仕方がわからない。


単一項目の入力部分はいくつも参考にするところがあると思いますが、何が分からないのですか?

引用:
他の項目を真似するだけだと、必須項目チェックで思わぬ不具合が発生したりするので、ヒントをいただきに質問しに来ました。


何をどうして、どういう問題が生じたかを具体的にコードを提示するなどして書かれると良いと思います。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

eijixAG
投稿日時: 2010/6/22 20:23
対応状況: −−−
新米
登録日: 2010/6/16
居住地: 大阪府
投稿: 9
お届け先入力画面に、必須項目の追加(ラジオボタン)
同じ内容のスレッドが過去にいくつかあるので、それらを参考にしながらカスタマイズしているのですが、どうにも行き詰まってしまい、質問いたします。

追加したい項目は、お届け先にエレベータがあるのか(ラジオボタン/入力必須)と、お届け先の階数(テキストボックス/必須入力)です。

悩んでる理由として、
(1)ラジオボタン入力が「性別」で使われているのですが、逆に「性別」しかないので、他に項目を追加するときにどの部分で「エレベータ」の項目であるのかを区別させればよいのかが、わからない。←ラジオボタン項目が2つ以上あれば、それぞれ見比べて区別方法を割り出しやすいのですが。
(2)同じく性別項目における、「男性」「女性」という項目名、どこから引っ張ってきてるのか。
(3)電話番号や郵便番号のような、複数個で1セットでない項目の追加の仕方がわからない。

過去スレッドを参考に、
(a)dtb_orderとdtb_order_tempに、フィールド追加
(b)/data/class/pages/shopping/LC_Page_Shopping.phpの「lfInitParam」に、性別の項目を真似して、各々追加
の2点は修正済み。
また、
(c)data/Smarty/templates/default/shopping/nonmember_input.tplと、
(d)data/Smarty/templates/default/shopping/confirm.tplの修正が必要なことまでわかりました。

他の項目を真似するだけだと、必須項目チェックで思わぬ不具合が発生したりするので、ヒントをいただきに質問しに来ました。

よろしくお願いします。


余談ですが、(a)テーブルにフィールド追加ってどうやるの?ってずっと悩んでたんですが、レンタルサーバのphpMyAdminで簡単にできたんですね。気づいたら「なーんだ」って思った話でした。

----------------------------------------
[EC-CUBE Ver.] 2.4.3
[PHP Ver.] 5.2.13
[DB Ver.] MySQL 4.1.22
[Webサーバ] Apache
----------------------------------------
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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