プラグイン > 開発について > 実装方法のご相談_商品詳細画面を表示させたときに特定条件で在庫0にしてカートボタンを無効化させたい |
開発について
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
k_i |
投稿日時: 2019/6/14 18:08
対応状況: −−−
|
半人前 登録日: 2019/5/21 居住地: 南国 投稿: 16 |
実装方法のご相談_商品詳細画面を表示させたときに特定条件で在庫0にしてカートボタンを無効化させたい ▼テンプレート
[EC-CUBE] 4.0.2 [環境] ローカル開発環境 いつもお世話になっております。 技術的に可能なのか、それとも別の実装方法をしたほうが良いのかアドバイスを頂けますと幸いです。 ★やりたいこと 特定条件(会員のステータス等)で商品を在庫0とみなしてカートボタンを無効化にしたいです。 ★やろうとしていること EccubeEvents::FRONT_PRODUCT_DETAIL_INITIALIZE のイベント発生時に、 この商品は在庫が0という状態を作りたいです。 Product/detail.twig では、商品の在庫があるかどうかでカートボタンを出し分けていますので、 Product.stock_find が false になると良いのかと思っております。 {% if Product.stock_find %} … カートに入れる {% else %} … ただいま品切れ中です {% endif %} しかしながら、 \Eccube\Entity\ProductはgetStockFindはあるもののsetStockFindなどはないので、 Productの状態を書き換えることができずお手上げ状態であります…。 なにか良い方法はありますでしょうか。 ★個人的代替案 商品詳細画面のテンプレートイベントで、{% if Product.stock_find %} という文字列を {% if false %} に置き換えるようなテンプレート書き換えをすればできそうです。 しかし、プラグインとした場合に商品詳細画面のテンプレートをガッツリいじっているサイトの場合にテンプレートの書き換えが正しく行うことができずにプラグインとして機能しなくなるのではっと。。。 この代替案でするしか無いでしょうか。 なにか良い方法ご存知でしたらご教示よろしくお願いいたします。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» 実装方法のご相談_商品詳細画面を表示させたときに特定条件で在庫0にしてカートボタンを無効化させたい | k_i | 2019/6/14 18:08 |
Re: 実装方法のご相談_商品詳細画面を表示させたときに特定条件で在庫0にしてカートボタンを無効化させたい | tao_s | 2019/6/14 23:08 |
Re: 実装方法のご相談_商品詳細画面を表示させたときに特定条件で在庫0にしてカートボタンを無効化させたい | k_i | 2019/6/15 23:08 |