バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 商品詳細の機能追加について

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ken-o
投稿日時: 2012/1/11 17:06
対応状況: −−−
長老
登録日: 2011/9/22
居住地:
投稿: 222
商品詳細の機能追加について
dtb_productに管理画面より一部商品に変動する値が存在するので、最大値と最小値を登録しました。

これを利用して規格からではなく、その商品詳細にプルダウンか、+-で最小値から最大値以内の値を操作して、結果をdtb_orderに入れたいのですが、LC_Page_Products_Detail.php と、SC_Product.php をどのように改良すればよろしいのでしょう。
または、なにか他にプログラム修正必要でしょうか。

よろしくお願い致します。

------------------------------------------------------------------------------------------
[EC-CUBE] 2.11.2
[レンタルサーバ] CPI
[OS] Windows XP SP3/Win 7
[PHP] PHP 5.2.8
[データベース] MySQL 5.0.45
[WEBサーバ] apache
[ブラウザ] Firefox6.3/IE8/Chrome
[現象]
------------------------------------------------------------------------------------------


----------------
何分知識が浅いですが・・・
出来得る限り協力したいと思っています

AMUAMU
投稿日時: 2012/1/11 18:58
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 商品詳細の機能追加について
>または、なにか他にプログラム修正必要でしょうか。

ざっと思いつく限りですと
SC_CartSession
SC_Helper_Purchase
あたりで、追加入力データの扱いに関する修正も必要かと思います


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

[url=h

ken-o
投稿日時: 2012/1/12 10:36
対応状況: −−−
長老
登録日: 2011/9/22
居住地:
投稿: 222
Re: 商品詳細の機能追加について
AMUAMU 様

あ〜なるほど、SC_Helper_Purchaseのことを忘れてました。
dtb_orderへの登録はなんとなくわかりました。
ありがとうございました。一つ光が見えました。

dtb_productに設けたmaxとminの間の数値を顧客が選んだ際に保管する、numという新しいカラムをdtb_orderに用意しました。
あとは、商品詳細ページに、maxとminのデータを表示させるにはどのようにすればよいのでしょう。

すみません、どうぞよろしくお願い致します。

追記:
LC_Page_Products_Detail.phpの#action内に、このようなコードを用意しました。規格部分を参考にしてみました。

$this->max_num = $objProduct->max[$product_id];
$this->min_num = $objProduct->min[$product_id];

SC_Product.phpにも
var $max;
var $min;
を追加しました。

イメージでは、とりあえず、これでproduct_idと一致する商品のmaxとminをひっぱってきて、detail.tplに表示しようと思いましたが、うまくいきません。
これでmaxとminの値を取得できれば、for文などを使って差の数値を求めていこうと思っています。


----------------
何分知識が浅いですが・・・
出来得る限り協力したいと思っています

ken-o
投稿日時: 2012/1/12 18:57
対応状況: −−−
長老
登録日: 2011/9/22
居住地:
投稿: 222
Re: 商品詳細の機能追加について
>自己レスです。

現在、なんとかこうにか LC_Page_Products_Detail.php にmaxとminの値を入れて、デバックで確認できるようになりました。

しかし肝心のdetail.tplに反映できません(><);

申し訳ございません。ここだけご教授お願い致します。

現在、maxを100、minを80として、その100〜80の値を$numという関数に入れている状態です。
理想像は商品詳細にて、$numを+-で値を決定し、それをdtb_orderにあげることです。
dtb_orderにアップはなんとかできるかと思いますので、その手前をどうかよろしくお願い致します。

ちなみに$numは配列にしました。


訂正:
とりあえず、プルダウンでdetail.tplに表示できました。
しかしまたまた問題が発生しました(汗

LC_Page_Products_Detail.phpの
switch ($this->mode) {
case 'cart':

に選択した$numのvalueが反映されません!
なので、SC_CartSession.php に遷移されません。
なにかやり忘れがありますか?


----------------
何分知識が浅いですが・・・
出来得る限り協力したいと思っています

AMUAMU
投稿日時: 2012/1/13 3:48
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 商品詳細の機能追加について
その部分だけ断片的に見ても分からないことが多いのですが
とりあえず追加した入力データの取り扱い周りは一通り実装しているのでしょうか?


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

[url=h

ken-o
投稿日時: 2012/1/13 12:09
対応状況: −−−
長老
登録日: 2011/9/22
居住地:
投稿: 222
Re: 商品詳細の機能追加について
AMUAMU 様

返信、ありがとうございます。
一通り実装しながら、悩み続けております(笑

現在、商品詳細で カートへ というボタンを押してもカートに入らない状況です。
もう少し調べてみます!


----------------
何分知識が浅いですが・・・
出来得る限り協力したいと思っています

ken-o
投稿日時: 2012/1/17 15:56
対応状況: −−−
長老
登録日: 2011/9/22
居住地:
投稿: 222
Re: 商品詳細の機能追加について
>自己レスです。

商品詳細の「カゴに入れる」のボタンを押しても、

※ 現在カート内に商品はございません。

と出力されるだけで、一切商品が入らなくなる現象が発生しましたが、SC_CartSession.phpに正しくデータが渡されているかを確認しようと var_dump を入れたら直りました・・・
原因は不明ですが、今は問題なくカートに入っております。
お騒がせしました。


現在、やはり「現在のカートの中」に値が入りません。
まず、管理画面より任意の商品のmaxとminの値を入力します。

LC_Page_Products_Detail.phpの116行目の$objProduct = new SC_Product_Ex();に、これを足しました。
引用:

$objProduct = new SC_Product_Ex(); $objProduct->setProductsClassByProductIds(array($product_id));
$aaa = $objProduct->getDetail($product_id);
$max = $aaa['max'];
$min = $aaa['min'];

$num=array();

for($i=$min; $i<=$max; $i++){
$num[$j] = $i;
$j = $j + 1;
}

$this->num = $num;

これで、numにmaxとminとその間の値が入りました。


次に、
引用:

<!--▼最大値-->
<ul class="clearfix">
<li>最大値:</li>
<li>
<select name="saidai" style="<!--{$arrErr.num|sfGetErrorColor}-->">
<!--{html_options values=$num output=$num}-->
</select>
</li>
</ul>
<!--最大値-->
<!--{/if}-->

をdetail.tplに加えました。


ここまでは問題なく動作しております。
カートへのデータ明け渡しは、
LC_Page_Products_Detail.php の190行目前後にある、switch ($this->mode) {case 'cart':

のところに、

$objCartSess->addProduct($product_class_id, $this->objFormParam->getValue('quantity'), $this->num);

を追加し、

SC_CartSession.php

function addProduct($product_class_id, $quantity, $num) {

var_dump($num);

という風にしました。
しかし、詳細画面にてプルダウンで選択したnumのvalueがやはり、カート画面では出力されません。

ヒントか、なにかを頂ければ幸いです。
どうか、よろしくお願い致します。


----------------
何分知識が浅いですが・・・
出来得る限り協力したいと思っています

AMUAMU
投稿日時: 2012/1/17 16:55
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 商品詳細の機能追加について
きちんとaddProductの中を実装しているのでしょうか?
addProductの元のコードはよく見ていますか?

ただ変数の引数を増やしただけではプログラムは何もしてくれません


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

[url=h

ken-o
投稿日時: 2012/1/20 16:23
対応状況: −−−
長老
登録日: 2011/9/22
居住地:
投稿: 222
Re: 商品詳細の機能追加について
AMUAMU 様

いつも助けて頂き、本当にありがとうございます。
なんとかできた?っぽいです。
addProductの一件は、変数の打ち間違えでした。
ご報告させて頂きます。

ショッピングカート周りは難しかったです(汗

23日の勉強会も参加させて頂きます〜


----------------
何分知識が浅いですが・・・
出来得る限り協力したいと思っています

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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