バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 売り切れた商品に関して

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yoshisan
投稿日時: 2017/6/2 15:28
対応状況: −−−
常連
登録日: 2016/4/11
居住地:
投稿: 52
売り切れた商品に関して
お世話になります。

現在、EC-CUBE3.0.9のバージョンを使用しております。

商品が売り切れたら、トップページ、カテゴリーページ、商品詳細ページ、プラグインなど、
売り切れた商品が表示されている箇所で、金額を非表示にしたいと考えています。

カスタマイズするファイルや、その方法などをご教授頂ければ幸いです。

宜しくお願い致します。
hata
投稿日時: 2017/6/7 9:18
対応状況: −−−
長老
登録日: 2015/8/3
居住地: 宮城県(2017/09末引退)
投稿: 156
Re: 売り切れた商品に関して
価格も在庫も規格毎の情報になるので、価格が参照できている箇所であれば条件式ひとつで済むと思います。

以下のディレクトリ配下にあるファイルで価格を意識している部分price02(大文字小文字問わず)などで
しらみつぶしに調べ、価格表示部分を在庫ありの条件で囲んでやる形になると思います。
(price02は販売価格なので、周辺にほかにも価格に纏わる表示があればそこも修正してください。)

src/Eccube/Resource/template/default
⇒修正はこちらのファイルを直接修正せず、app/templateの方へコピーしたものに実施してください。
 また、EC-CUBEオリジナル以外のテンプレートをご利用の場合は、defaultではなくて当該テンプレートの
 配下をご確認ください。
app/Plugin
⇒プラグインの場合はtwigファイル以外にもphpのソースファイル中でtwig内の文字列置換やHTMLに介入しての
 文字列置換をしている場合があるので、全体的に価格情報を参照している箇所を探して対処を行う必要があります。

修正方法ですが、
twig側では、{% if Product.stock_find %}...{% endif %}の条件下に入れてやります。
php側では、twigのコード部分であれば上記の通り。
プログラム部分なら、規格の変数(ProductClass※大文字小文字問わずだいたいこんな名前)が
あると思うので、if ($ProductClass->getStockFind()) { ... }の条件下に入れてやります。
【追記】上記は規格の話で、商品毎に判断する場合は、if ($Product->getStockFind()) { ... }の条件です。
$Product->getStockFind()は、各規格の在庫でひとつでも残っているもしくは無制限があればtrueを返します。

使い方は、それぞれ以下のファイルに使用箇所があるので、こちらを参照してください。
src/Eccube/Resource/template/default/Product/detail.twig
src/Eccube/Form/Type/AddCartType.php 【追記】$Product->getStockFind()を使っています。


以下、参考までにsrc/Eccube/Resource/template/defaultの下をprice02で検索した結果です。
余計なもの(class名等々)も含まれていますが、こんな感じのところから作業を始めることになります。
尚、プラグインについてはこちらでは無理なので、ご自分でご確認ください。(幅をとるので一部改行入れてます)
※eccube-3.0.9/src/Eccube/Resource配下で
$ grep -nir price02 *
admin/Order/search_product.twig:53:            price = product['price02'];
admin/Order/search_product.twig:67:                price = product['price02'];
admin/Order/search_product.twig:77:                price = product['price02'];
admin/Product/product.twig:271:                                {{ form_label(form.class.price02) }}
admin/Product/product.twig:272:                                <div id="detail_box__price02" class="col-sm-3 col-lg-3">
admin/Product/product.twig:273:                                    {{ form_widget(form.class.price02) }}
admin/Product/product.twig:274:                                    {{ form_errors(form.class.price02) }}
admin/Product/product_class.twig:106:            var price02 = $('#form_product_classes_0_price02').val();
admin/Product/product_class.twig:107:            $('input[id$=_price02]').val(price02);
admin/Product/product_class.twig:217:                                    <th id="result_box__header_price02">販売価格(円)</th>
admin/Product/product_class.twig:263:                                <td id="result_box__price02--{{ product_class_form.vars.name }}" class="price_cell">
admin/Product/product_class.twig:264:                                    {{ form_widget(product_class_form.price02, {'attr': {'class': 'notmoney'}}) }}
admin/Product/product_class.twig:265:                                    {{ form_errors(product_class_form.price02) }}
default/Mypage/favorite.twig:54:                                        <dd id="favorite_list__price02_inc_tax--{{ Product.id }}" class="item_price">
default/Mypage/favorite.twig:55:                                            {% if Product.price02_inc_tax_min == Product.price02_inc_tax_max %}
default/Mypage/favorite.twig:56:                                                {{ Product.price02_inc_tax_min|price }}
default/Mypage/favorite.twig:58:                                                {{ Product.price02_inc_tax_min|price }}~{{ Product.price02_inc_tax_max|price }}
default/Mypage/history.twig:106:                                        {% if OrderDetail.product and OrderDetail.price_inc_tax != OrderDetail.productClass.price02IncTax %}
default/Mypage/history.twig:107:                                        <dd id="detail_list__price02_inc_tax--{{ OrderDetail.id }}" class="text-danger">
default/Mypage/history.twig:108:                                            <strong>【現在価格】{{ OrderDetail.productClass.price02IncTax|price }}</strong>
default/Product/detail.twig:135:                        {% if Product.getPrice02Min == Product.getPrice02Max %}
default/Product/detail.twig:136:                        <p id="detail_description_box__class_sale_price" class="sale_price text-primary"> <span class="price02_default">{{ P
roduct.getPrice02IncTaxMin|price }}</span> <span class="small">税込</span></p>
default/Product/detail.twig:138:                        <p id="detail_description_box__class_range_sale_price" class="sale_price text-primary"> <span class="price02_default
">{{ Product.getPrice02IncTaxMin|price }}</span> ~ <span class="price02_default">{{ Product.getPrice02IncTaxMax|price }}</span> <span class="small">税込</span></p>
default/Product/detail.twig:141:                        <p id="detail_description_box__sale_price" class="sale_price text-primary"> <span class="price02_default">{{ Product
.getPrice02IncTaxMin|price }}</span> <span class="small">税込</span></p>
default/Product/list.twig:119:                                    {% if Product.getPrice02Min == Product.getPrice02Max %}
default/Product/list.twig:120:                                    <dd id="result_list__price02_inc_tax--{{ Product.id }}" class="item_price">
default/Product/list.twig:121:                                        {{ Product.getPrice02IncTaxMin|price }}
default/Product/list.twig:124:                                    <dd id="result_list__price02_inc_tax--{{ Product.id }}" class="item_price">
default/Product/list.twig:125:                                        {{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}
default/Product/list.twig:129:                                    <dd id="result_list__price02_inc_tax--{{ Product.id }}" class="item_price">{{ Product.getPrice02IncTaxMin|
price }}</dd>
プラグインを作ってrenderの共通処理で価格表示部分を上手く識別して条件で囲むようなことは
できるかも知れませんが、いずれにしてもパターンを調べないといけないので上記の箇所の調査は必要ですね。

だれか作っているひといますかね???

ちなみにこの価格非表示ですが、商品一覧画面で価格順に並べるとなんとなく価格がわかってしまう気がしますが
大丈夫でしょうか...
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,720名です
総投稿数は109,953件です

投稿数ランキング

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