バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 【2.12】カゴに入れた直後にカート画面に飛ばないようにすると、カートブロックの計算が狂う

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
soy_bean
投稿日時: 2012/8/23 9:45
対応状況: −−−
新米
登録日: 2012/8/14
居住地:
投稿: 5
Re: 【2.12】カゴに入れた直後にカート画面に飛ばないようにすると、カートブロックの計算が狂う
ちょっと忙しく、実装してプログラム変更を教える余裕はなさそうです。

まず値段がおかしくなるのは、
商品値段+5%税になってるようですね。
/data/Smarty/templates/default/products/detail.tpl

<input type="hidden" name="price" value="<!--{$arrProduct.price02_min_inctax}-->" />
内のvalueの値を適切なものに変更してください。

自分の場合規格によらず値段統一でしたので規格は考慮してませんでした。
解決案として思いついたのは
?tpl側を主に修正する方法
上記valueの値を選択している規格によって、smartyを使い条件分岐変更する方法。

?LC_Page_Products_Detail.php側を主に修正する方法
得られる規格と商品の情報を使い、データベースの商品情報部分からpriceを作成する方法。

あたりでしょうか。
hirokato
投稿日時: 2012/8/24 12:34
対応状況: −−−
新米
登録日: 2012/8/22
居住地:
投稿: 2
Re: 【2.12】カゴに入れた直後にカート画面に飛ばないようにすると、カートブロックの計算が狂う
返答ありがとうございます


値段がおかしいのは税込み値段にまた税をかけているんですね…
><input type="hidden" name="price" value="<!--{$arrProduct.price02_min_inctax}-->" />
>内のvalueの値を適切なものに変更してください。
の「適切なもの」がわかりませんが、いろいろ試して頑張ってみます

規格によって値段が違う場合の解決案についても
何をどうすれば良いのかさっぱりですが、、、
手がかりをいただけたのでこちらも頑張ってみます


どうしても進めなかったらまた質問させていただこうと思います
uubb
投稿日時: 2012/9/11 12:55
対応状況: −−−
常連
登録日: 2012/5/29
居住地:
投稿: 53
Re: 【2.12】カゴに入れた直後にカート画面に飛ばないようにすると、カートブロックの計算が狂う
hirokatoさんと同様に規格によって値段が違う場合は、うまく行きません。
<input type="hidden" name="price" value="<!--{$arrProduct.price02_min_inctax}-->" />
>内のvalueの値を<!--{$arrProduct.price02_min}-->にすれば規格内最安値(税込)の数値が入ります。

規格選択された際の数値が必要なので、<!--{$arrProduct.price02_min|number_format}-->にすればエラーがでます。

number_formatの数値どこで渡せばいいのかうまく検討できません。
seasoft
投稿日時: 2013/4/3 23:22
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 【2.12】カゴに入れた直後にカート画面に飛ばないようにすると、カートブロックの計算が狂う
引用:

soy_beanさんは書きました:
詳細のほうだけですが、
「カゴに入れる」を押したときに、まだpriceの情報がカートセッションに入っていないため、カートに金額が反映されていないと思います。
カートはセッションの情報を参照して金額や数量だしているみたい。

detail.tplに
<input type="hidden" name="price" value="<!--{$arrProduct.price02_min_inctax}-->" />
あたりを追加して

LC_Page_Products_Detail.phpの
case 'cart'内の$objCartSess->addProductにpriceを追加
$objCartSess->addProduct($product_class_id, $this->objFormParam->getValue('quantity'), $this->objFormParam->getValue('price'));

SC_CartSession.phpのfunction addProductを
function addProduct($product_class_id, $quantity, $price) {
にして

if (strlen($val) <= INT_LEN) { 内に
$this->cartSession[$productTypeId][$i]['price'] = $price;

if (!$find) { 内に
$this->cartSession[$productTypeId][$max+1]['price'] = $price;
を追加する感じで自分はごまかしました。

もっといいやり方あると思いますし、
他で使うかもしれないので元の関数は残して、
いじる関数は別名にした方がいいと思います。


SC_CartSession#addProduct の末尾に下記コードを1行追加するだけで十分なようです。(2.12.2 で確認)

$this->getCartList($productTypeId);


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

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


 



ログイン


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

統計情報

総メンバー数は88,886名です
総投稿数は110,000件です

投稿数ランキング

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