バージョン選択

フォーラム

メニュー

オンライン状況

67 人のユーザが現在オンラインです。 (49 人のユーザが フォーラム を参照しています。)
登録ユーザ: 3
ゲスト: 64
manuele hi-ro shimbo もっと...

サイト内検索

質問 > フロント機能 > 会員用割引項目を表示したい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
r.m
投稿日時: 2018/7/4 15:13
対応状況: −−−
新米
登録日: 2018/7/4
居住地:
投稿: 10
会員用割引項目を表示したい
EC-CUBE 2.13.5を使っております。

カスタマイズとして商品詳細画面に
会員専用割引項目を追加したいのですが、
方法がわかりません。

現在管理画面にて、データベースへの
割引率の反映までは完了していますが

商品詳細画面での割引を適用した状態での値段の表示方法が
方法が分かりません。

具体的にはsmarty文にて値段を表示させる際の方法が不明であり
$arrProductへ割引後の値段を追加し表示させると考え
試行錯誤しましたが、不明でした。

よろしくお願いします。
468
投稿日時: 2018/7/5 0:48
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1287
Re: 会員用割引項目を表示したい
商品詳細ページであれば、
/data/class/pages/products/LC_Page_Products_Detail.phpの
function action()の中で
$this->arrProductに割引後の金額をセットする形になるかと思います。
$this->arrProduct['price03'] = 割引後の金額;
(配列に新しいキーを追加します)

テンプレート側では以下の記述で表示できると思います。
<!--{$arrProduct.price03|n2s}-->

price03の箇所は、既に使われていないキーワードで自由に命名すれば良いかと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

r.m
投稿日時: 2018/7/5 11:30
対応状況: −−−
新米
登録日: 2018/7/4
居住地:
投稿: 10
Re: 会員用割引項目を表示したい
468様 ご返信ありがとうございます。

> $error[] = '';/data/class/pages/products/LC_Page_Products_Detail.phpの
> function action()の中で
> $this->arrProductに割引後の金額をセットする形になるかと思います。
> $this->arrProduct['price03'] = 割引後の金額;
> (配列に新しいキーを追加します)

上記にて 金額がセットできることが確認できました。
ありがとうございます。

ですが、現在のカスタマイズの内容として
管理画面の商品登録画面で、会員割引率を設定し、
その数値を割引率とするようなカスタマイズをしています。

同画面でのポイント付与率のようなイメージです

現在管理画面での会員割引率の設定とdtbproductへの登録
までできている状態です。
ポイント付与率は同画面で変更し、arrProductの値が変化
していますが、上記arrProductのような動作がうまく実装できず
悩んでいます。

eccubeのカスタマイズの経験がほぼなく困り果てています。
申し訳ありませんが、参考情報等でもよいのでご教示お願いいたします。




468
投稿日時: 2018/7/5 11:39
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1287
Re: 会員用割引項目を表示したい
割引後の金額を算出するロジックの書き方が分からないという事でしょうか?
それともdtb_productに追加された会員割引率をDBから取り出してくる方法が分からないという事でしょうか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

r.m
投稿日時: 2018/7/5 12:02
対応状況: −−−
新米
登録日: 2018/7/4
居住地:
投稿: 10
Re: 会員用割引項目を表示したい
468様 ご返信ありがとうございます。

現在以下の方法での記載を考えています。
以下の内容間違っていれば、ロジックがわからない状態です。

<!--{if $smarty.const.MEMBER_DISCOUNT !== false}-->
<dl class="sale_price">会員割引価格(税込)
<dt><!--{$smarty.const.SALE_PRICE_TITLE}-->(税込):</dt>
<dd class="price">
<span id="price02_default"><!--{strip}-->
<!--{if $arrProduct.price02_min_inctax == $arrProduct.price02_max_inctax}-->
 <!--{$arrProduct.【会員割引適用後の値段(min)】|n2s}-->
<!--{else}-->
 <!--{$arrProduct.【会員割引適用後の値段(min)】|n2s}-->~
<!--{$arrProduct.【会員割引適用後の値段(max)】|n2s}-->
<!--{/if}-->
<!--{/strip}--></span><span id="price02_dynamic"></span>

</dd>
</dl>
<!--{/if}-->

上記の【会員割引適用後の値段(max)】に該当する値を
$arrProductに格納し記載すると考えています。

大変お恥ずかしいですが、いまいちEccubeの構造を把握できていない部分があり、

> // 割引後の金額を算出するロジックの書き方が分からないという事でしょうか? 
> // それともdtb_productに追加された会員割引率をDBから取り出してくる方法が分からないという事でしょうか?

正直どちらも不明な状態です。
申し訳ありません。
468
投稿日時: 2018/7/5 21:30
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1287
Re: 会員用割引項目を表示したい
管理画面及びdtt_productにどのような項目で割引率を追加されたのか
分からない為、きっちりとしたソースを提示する事は出来ませんが、
通常、商品詳細ページに情報を追加しようとする場合、
以下の処理を追加する必要があるかと思います。

1.商品詳細ページの対象商品のデータをDBから取り出す
2.会員割引適用後の値段を計算する
3.テンプレートに変数で会員割引適用後の値段を渡す
4.テンプレートで会員適用後の値段を表示する

1.については、
/data/class/pages/products/LC_Page_Products_Detail.php 285行目の
$this->arrProduct = $objProduct->getDetail($product_id);
が該当します。
詳細は割愛しますが、SC_Productクラス(/data/class/SC_Product.php)のfunction getDetail($product_id)を呼び出して商品のレコードを配列で返していると思います。
function getDetailの中では、select句が*となるSQLを実行していると思いますが、この配列に追加された割引率は含まれていませんか?

2.の会員割引適用後の値段の計算式については、私には分かりませんので、var_dump()等で1.の配列の中身を確認しつつ、
必要な計算式を記述し、計算後の数値を変数に代入すれば良いかと思います。
(直接$this->arrProductにキーを追加して代入しても良いかと思います)

3.4.については、先日の回答の通り、$this->arrProductに新しいキーを追加して、値引き後の金額を代入し、
smarty側で呼び出せば表示できると思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

r.m
投稿日時: 2018/7/9 10:11
対応状況: −−−
新米
登録日: 2018/7/4
居住地:
投稿: 10
Re: 会員用割引項目を表示したい
468様

ご返信いただきありがとうございます。

> 1.商品詳細ページの対象商品のデータをDBから取り出す
> 2.会員割引適用後の値段を計算する
> 3.テンプレートに変数で会員割引適用後の値段を渡す
> 4.テンプレートで会員適用後の値段を表示する

上記といただいた内容をもとに、計算後の値を
定義することで無事、反映することができました。

返信が遅れてしまい、申し訳ございませんが、
無事解決することができました、誠にありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

統計情報

総メンバー数は34,729名です
総投稿数は88,077件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1825
4
yuh
1520
5
468
1287
6
red
1185
7
umebius
1007
8
fukap
907
9
shutta
827
10
tsuji
815
11 ramrun 789
12
tao_s
667
13 karin 656
14 sumida 641
15
homan
633
16
h_tanaka
580
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© LOCKON CO.,LTD. All Rights Reserved.