バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > カートに、通常価格で入れて最後まで計算したい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tamahime
投稿日時: 2012/11/23 3:56
対応状況: −−−
常連
登録日: 2012/10/15
居住地:
投稿: 44
カートに、通常価格で入れて最後まで計算したい
初心者ですが、必死で勉強してカスタマイズしています。
どうぞご教授願います。

タイトルの通り、
カートに、「販売価格」ではなく「通常価格」で入れて、
最後までこの価格で計算したいと考えています。

商品詳細画面の2つの価格を、
 上段⇒「価格(税込)」
 下段⇒「その価格の単位」
として表示させたいためです。

一覧画面やおすすめブロックでは、
「price02」を「price01」に書き換えるなどして
簡単に表示を変更できたのですが、
カートの中は一生懸命コードを読んでも
どこを変更すれば「price01」を引っ張ってきてくれるかが
どうしてもわかりません。


例えば、カートの中の商品単価は以下のようになっていますが、

 <!--{$item.price|sfCalcIncTax|number_format}-->円

ここの「price」は「price02」のことだとどこで決めているのでしょう・・・?


こちらの過去スレをもとに、
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=8660&forum=10

 /data/class/pages/cart/LC_Page_Cart.phpだと、
 $this->cartItems =& $objCartSess->getAllCartList();
 の部分でセットされています。
 で、テンプレート部分(/data/Smarty/templates/default/cart/index.tpl)では、
 <!--{foreach from=$cartItems[$key] item=item}-->
 で、$itemに渡ってくるようになっていますね。

LC_Page_Cart.phpやSC_CartSession.phpを読んでみるのですが、
どうしても理解が足りないようです。


どうかご指導いただけませんでしょうか。
よろしくお願いいたします。


EC-CUBE 2.12.2
XAMPP1.7.7
OS Windows7
PHP 5.3.8
MySQL 5.0
apache2.2
Google Chrome
tamahime
投稿日時: 2012/11/23 4:22
対応状況: −−−
常連
登録日: 2012/10/15
居住地:
投稿: 44
Re: カートに、通常価格で入れて最後まで計算したい
ああっ!!!


商品詳細テンプレートで、
上段下段を入れ替えれば済む話だったことに
いまごろ気づきました。

恥ずかしながら
やりたかったことは解決したのですが、
もしお分かりの方がいらっしゃいましたら、


 例えば、カートの中の商品単価は以下のようになっていますが、

  <!--{$item.price|sfCalcIncTax|number_format}-->円

 ここの「price」は「price02」のことだとどこで決めているのでしょう・・・?


この質問にお答えいただければ幸いです。
どうぞよろしくお願いいたします。
ゲスト
投稿日時: 2012/11/23 12:28
対応状況: −−−
Re: カートに、通常価格で入れて最後まで計算したい
ここですかねぇ、、、コメントからしても。。。

data/class/helper/SC_Helper_Purchase.php

&#160; &#160; /**
&#160; &#160; &#160;* 配送商品を設定する.
&#160; &#160; &#160;*
&#160; &#160; &#160;* @param integer $shipping_id 配送先ID
&#160; &#160; &#160;* @param integer $product_class_id 商品規格ID
&#160; &#160; &#160;* @param integer $quantity 数量
&#160; &#160; &#160;* @return void
&#160; &#160; &#160;*/
&#160; &#160; function setShipmentItemTemp($shipping_id, $product_class_id, $quantity) {
&#160; &#160; &#160; &#160; // 配列が長くなるので, リファレンスを使用する
&#160; &#160; &#160; &#160; $arrItems =& $_SESSION['shipping'][$shipping_id]['shipment_item'][$product_class_id];

&#160; &#160; &#160; &#160; $arrItems['shipping_id'] = $shipping_id;
&#160; &#160; &#160; &#160; $arrItems['product_class_id'] = $product_class_id;
&#160; &#160; &#160; &#160; $arrItems['quantity'] = $quantity;

&#160; &#160; &#160; &#160; $objProduct = new SC_Product_Ex();

&#160; &#160; &#160; &#160; // カート情報から読みこめば済むと思うが、一旦保留。むしろ、カート情報も含め、セッション情報を縮小すべきかもしれない。
&#160; &#160; &#160; &#160; /*
&#160; &#160; &#160; &#160; $objCartSession = new SC_CartSession_Ex();
&#160; &#160; &#160; &#160; $cartKey = $objCartSession->getKey();
&#160; &#160; &#160; &#160; // 詳細情報を取得
&#160; &#160; &#160; &#160; $cartItems = $objCartSession->getCartList($cartKey);
&#160; &#160; &#160; &#160; */

&#160; &#160; &#160; &#160; if (empty($arrItems['productsClass'])) {
&#160; &#160; &#160; &#160; &#160; &#160; $product =& $objProduct->getDetailAndProductsClass($product_class_id);
&#160; &#160; &#160; &#160; &#160; &#160; $arrItems['productsClass'] = $product;
&#160; &#160; &#160; &#160; }
&#160; &#160; &#160; &#160; $arrItems['price'] = $arrItems['productsClass']['price02'];
&#160; &#160; &#160; &#160; $inctax = SC_Helper_DB_Ex::sfCalcIncTax($arrItems['price']);
&#160; &#160; &#160; &#160; $arrItems['total_inctax'] = $inctax * $arrItems['quantity'];
&#160; &#160; }


「price02」での検索結果は下記urlを参照ください。

http://www.kudzilla.com/~hic/eccube-dev/shot/price02.PNG
ID/PWD : hic/Ringo
tamahime
投稿日時: 2012/11/23 15:06
対応状況: −−−
常連
登録日: 2012/10/15
居住地:
投稿: 44
Re: カートに、通常価格で入れて最後まで計算したい
Ringo様!

お返事ありがとうございました!!!
ご指摘の箇所はprice02⇒price01に変更してみても
特に変化なかったのですが、
リンク貼ってくださったURLより
SC_CartSession.phpの中の以下を見つけ、
price02⇒price01に変更したらあっさり変わりました!


 /**
 * 商品種別ごとにカート内商品の一覧を取得する.
 *
 * @param integer $productTypeId 商品種別ID
 * @return array カート内商品一覧の配列
 */
  function getCartList($productTypeId) {
   $objProduct = new SC_Product_Ex();
   $max = $this->getMax($productTypeId);
   $arrRet = array();
   for ($i = 0; $i <= $max; $i++) {
    if (isset($this->cartSession[$productTypeId][$i]['cart_no'])
     && $this->cartSession[$productTypeId][$i]['cart_no'] != '') {

     // 商品情報は常に取得
     // TODO 同一インスタンス内では1回のみ呼ぶようにしたい
     $this->cartSession[$productTypeId][$i]['productsClass']
      =& $objProduct->getDetailAndProductsClass($this->cartSession[$productTypeId][$i]['id']);

     $price = $this->cartSession[$productTypeId][$i]['productsClass']['price02'];
     $this->cartSession[$productTypeId][$i]['price'] = $price;
    …


このリンク先で使っていらっしゃるツールは
なんなのでしょうか・・・?
こういうものがほしいとずっと思っていたのですが、
よく分からないまま、これまでファイルを
片っ端から開きまくって探していました(^^;

お手数ですが、お教えいただけば幸いです。
よろしくお願いいたします。
ゲスト
投稿日時: 2012/11/23 17:44
対応状況: −−−
Re: カートに、通常価格で入れて最後まで計算したい
引用:
このリンク先で使っていらっしゃるツールは
なんなのでしょうか・・・?

出先では、WindowsXPなので、pleiades 4.2 php jre付きを使ってます。
が、下記のurlにも注意書きがある様に、時々、2,3分待たされることがあります。
その時のcpuは一桁%なので、マシンの性能には無関係の問題のようです。
ので、3.7をお勧めします。
http://mergedoc.sourceforge.jp/

多分、以下は余談、、、 (^^)
名古屋ユーザーグループの時は、sotec c101を持って行くので、(早くMac Book Proが欲しい、、、)
pleiades 3.7 on xpでは、議事進行出来ない程に、操作ごとの反応が遅いので、
別パーティションに入れたFedora 17 の「Webアプリケーション開発」で入ったeclipseに
yumで、eclipse-php(モジュール?) をインストールしたのを使ってます。
tamahime
投稿日時: 2012/11/23 23:04
対応状況: −−−
常連
登録日: 2012/10/15
居住地:
投稿: 44
Re: カートに、通常価格で入れて最後まで計算したい
Ringo様

再びのお返事ありがとうございました!!!

eclipseって、リンク先のイメージに書いてありましたね。。。
pleiadesもJREも何それ状態でしたので
理解するのに時間がかかりましたが、
いろいろ調べてみて、とにかく使ってみることにしました!

素人が孤独にカスタマイズやってるだけでは
ぜったいに行きつかなかったことだなと思います。
教えていただけてほんとに感謝です!

いま、↓のサイトを参考にインストール中です。
http://codezine.jp/article/detail/5105

できれば素人目線でインストールしてみた感想など
書いてみようかと思っていたのですが、
まず理解するのに時間がかかっているので(汗;)
別の機会にしたいと思います。

このたびは本当にありがとうございました!
tamahime
投稿日時: 2012/11/24 0:18
対応状況: −−−
常連
登録日: 2012/10/15
居住地:
投稿: 44
Re: カートに、通常価格で入れて最後まで計算したい
感激の使い心地でした!

フォルダ全体から一気に探したいキーワードを探せて、
そのまま編集できてしまうなんて!
今まで自分がやっていたことがバカラシクなってくるほどです。

Ringoさんのオススメ通り、
http://mergedoc.sourceforge.jp/
こちらより、3.7の、PHP、JRE付をインストールしました。

少しずつ知らないことに出会って引っかかりましたが
ちょっとググれば解決することばかりで
これは素人でも試してみる価値ありと思いました!

(スレの内容と話が変わってしまいましたが、
先のコメントのまま放置すると素人にはハードルが高いのかと
思われそうでしたので、感想を追記いたしました。)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は90,404名です
総投稿数は110,383件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1693
8
red
1571
9
mcontact
1366
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.