バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 売り切れた商品の価格を非表示にしたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
akiakihi
投稿日時: 2015/5/30 23:06
対応状況: −−−
一人前
登録日: 2014/7/17
居住地: 兵庫県
投稿: 91
売り切れた商品の価格を非表示にしたい
お世話になります。

一点もののハンドメイド商品を販売しているのですが、sold outになった商品の価格を商品一覧ページ、商品詳細ページでともに非表示にしたいと思っています。
(カラーミーショッピングサイトで実装済みの機能)


検索してみたところ、以下のような質問に対する答えがありました

http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=15721&forum=10


引用:
・dtb_products/dtb_product_classに価格非表示フラグを追加する
・商品表示にかかわるSmartyテンプレートにて、当該フラグ有効時は価格非表示に変更する



引用:
dtb_products もしくは dtb_products_class に、「価格ASKフラグ」のような項目を作成して、
この項目の値により、Smarty側で価格の表示/非表示を切り替えるようにカスタマイズするのが良いと思います。


上記のようなお答えがあったのですが、
具体的にどのようにしたらよいか、詳しくお教えいただけませんでしょうか?


別の検索で 会員だけに価格表示、というのを見つけました。
http://www.s-oj.com/ec-business/how-to-display-the-price-to-members-only-in-ec-cube/
引用:
<!--{* ▼会員だけに価格表示 *}-->
<!--{if '' != $smarty.session.customer.customer_id}-->

<!--{* 会員には販売価格を表示 *}-->

<!--{* ▼販売価格 *}-->
<p class="sale_price">
<span class="small"><!--{$smarty.const.SALE_PRICE_TITLE}-->:</span>
<span class="price">
<span id="price02_default">
<!--{if $arrProduct.price02_min_inctax == $arrProduct.price02_max_inctax}-->
<!--{$arrProduct.price02_min_inctax|number_format}-->
<!--{else}-->
<!--{$arrProduct.price02_min_inctax|number_format}-->〜<!--{$arrProduct.price02_max_inctax|number_format}-->
<!--{/if}-->
</span><span id="price02_dynamic"></span>
</span>円<span class="small">(税込)</span>
</p>
<!--{* ▲販売価格 *}-->

<!--{else}-->


こんな感じで、商品の在庫がない場合に価格を非表示にするようなif文を書いたらいいのでは、とは思うのですが、よく分からず・・・

お忙しいところを大変恐縮ですが、どうか具体的にご教示くださいますよう、よろしくお願いいたします。m(_ _)m



------------------------------------------------------------------------------------------
[EC-CUBE] 2.13.3
[レンタルサーバ] さくら
[PHP] PHP 5.2
[データベース] MySQL 5.5.38-log
[WEBサーバ] apache

[導入プラグインの有無] パンクズプラグイン
[カスタマイズの有無]] bootstlap3のテンプレートを使っています
------------------------------------------------------------------------------------------
tsuji
投稿日時: 2015/6/1 11:49
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: 売り切れた商品の価格を非表示にしたい
akiakihi 様

テンプレートでは$tpl_stock_findで在庫の有り無しを判定しています。
その書き方を参考にされるとよいと思います。


----------------
****************************************
株式会社システムフレンド
辻 拓也(takuya tsuji)
改造専門店・EC-CUBE工房
****************************************

akiakihi
投稿日時: 2015/6/1 11:57
対応状況: −−−
一人前
登録日: 2014/7/17
居住地: 兵庫県
投稿: 91
Re: 売り切れた商品の価格を非表示にしたい

現在、一覧表示のページで、在庫がない場合には 下記の記述でsold outという文字が画像の上に表示されるようになっています。

引用:

<!--{if !$tpl_stock_find[$id]}-->
 <span class="soldout label label-danger fa-rotate-45">SOLD OUT</span>
<!--{/if}-->


これを以下のように・・・・

引用:
<!--{if !$tpl_stock_find[$id]}-->
<p>sold out</p>
<!--{else}-->

<div class="pricebox">
<span class="price">
<span id="price02_default_<!--{$id}-->"><!--{strip}-->
<!--{if $arrProduct.price02_min_inctax == $arrProduct.price02_max_inctax}-->
<!--{$arrProduct.price02_min_inctax|number_format}-->円
<!--{else}-->
<!--{$arrProduct.price02_min_inctax|number_format}-->円〜
<!--{/if}-->
</span><!--{/strip}-->
</span>
</div>
<!--{/if}-->



elseを加えただけですが・・・・(^^;

でもこれだと、在庫があってもなくても、全ての価格がsold outになってしまいます。

dtb_products_classのstockが0ならsold out、1以上だったら価格表示、という風にしたいのですが・・・・

stock ==0
stock >= 1 OR stock_unlimited = 1

具体的にどう書いたらいいか、どなたかお教えいただけませんでしょうか。
akiakihi
投稿日時: 2015/6/1 12:24
対応状況: −−−
一人前
登録日: 2014/7/17
居住地: 兵庫県
投稿: 91
Re: 売り切れた商品の価格を非表示にしたい
tsujiさま

ありがとうございます!
さきほど、tsuji様と同時刻に書き込みをしていたため、こちらの返信に気付きませんでした。(>_<)

自己レスでも書きましたが、$tpl_stock_findでsold out表示、というのは出来たのですが
在庫があってもなくてもsold outになってしまいます。

引用:
<!--{if $tpl_stock_find[$id]}-->
<!--★価格★-->
<div class="pricebox">
<span class="price">
<span id="price02_default_<!--{$id}-->"><!--{strip}-->
<!--{if $arrProduct.price02_min_inctax == $arrProduct.price02_max_inctax}-->
<!--{$arrProduct.price02_min_inctax|number_format}-->円
<!--{else}-->
<!--{$arrProduct.price02_min_inctax|number_format}-->円〜
<!--{/if}-->
</span><!--{/strip}-->
</span>
</div>

<!--{else}-->
<div class="cartbtn attention">sold out</div>
<!--{/if}-->



基本的に、
<!--{if $tpl_stock_find[$id]}-->
 (価格表示の記述)
<!--{else}-->
 SOLD OUT
<!--{/if}-->
これで行ける気がするのですが・・・・


どこがおかしいか、ご教授願えませんでしょうか。
よろしくお願いいたします。。。
akiakihi
投稿日時: 2015/6/1 12:54
対応状況: −−−
一人前
登録日: 2014/7/17
居住地: 兵庫県
投稿: 91
Re: 売り切れた商品の価格を非表示にしたい
自己レスです。

上記の記述で、デフォルトのテンプレートではうまくいきました。
記述自体は上記で問題ないようです。

どこを触ってしまったのかわかりませんが、私が使っているテンプレート環境では、在庫に関わらずsold outになってしまっていました。


tsuji
投稿日時: 2015/6/1 16:26
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: 売り切れた商品の価格を非表示にしたい
akiakihi 様

PHP側で$tpl_stock_findに内容が正しく入っているかどうかを確かめて
みることをお勧めします。

そこまでカスタマイズをしておられないのであれば、PHPやテンプレートを
デフォルトと比較してみてるなら問題が分かるかもしれません。


----------------
****************************************
株式会社システムフレンド
辻 拓也(takuya tsuji)
改造専門店・EC-CUBE工房
****************************************

akiakihi
投稿日時: 2015/6/2 0:01
対応状況: −−−
一人前
登録日: 2014/7/17
居住地: 兵庫県
投稿: 91
Re: 売り切れた商品の価格を非表示にしたい
ありがとうございます。

結局ファイル関係は全て調べても問題なかったのですが、1からインストールし直してみて、何が悪かったのか判明しました。


商品IDを1番から登録したかったため、サンプル製品を削除するべく、product関連とcategory関連のテーブルを削除したのですが、カテゴリ関連を削除したのがいけなかったようです(^^;

商品登録と違ってカテゴリIDは、普通にcsv登録で1番から上書きできるのですね。


問題解決できました。
ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は89,041名です
総投稿数は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.