一部の商品を「販売不可」に設定し、「カートに追加」ボタンを削除して、お問い合わせフォームへのリンクを追加したいと思います。
私はこの解決策を数週間探しています。検索して、私はこの投稿を見つけました:
しかし、私はそれを機能させることはできません。誰かが私に詳細を教えてくれますか?
一部の商品を「販売不可」に設定し、「カートに追加」ボタンを削除して、お問い合わせフォームへのリンクを追加したいと思います。
私はこの解決策を数週間探しています。検索して、私はこの投稿を見つけました:
しかし、私はそれを機能させることはできません。誰かが私に詳細を教えてくれますか?
そのチュートリアルは機能しますが、私は別の方法で行います。
まず、このチュートリアルでは、特定の属性セットIDを使用する必要があります。製品ID、カテゴリIDなどと同様に、開発/本番サーバー環境を管理している場合、これは変更される可能性があります。私はこれをお勧めしません。
個人的に(そしてもっと良い方法があることを私は知っています)、私は新しい製品属性を作成します。これは「非売品」に沿ったものです。この属性を「はい/いいえ」にし、デフォルトを「いいえ」にします(販売中です)。
次に、[カートに追加]ボタンがある場合、たとえばview.phtmlで、[カートに追加]ボタンを表示するコードのチャンクを見つけます。
<?php echo $this->getChildHtml('addtocart') ?>
このチャンクを次のようにラップします。
<?php if(!$_product->getNotForSale()) : ?>
<?php echo $this->getChildHtml('addtocart') ?>
<?php endif ?>
次に、購入したくない製品について、製品管理の属性値を「はい」に設定します。
さらに、そこにelseステートメントを結び付けて、代替ボタンなどを表示することもできます。
この方法は基本的に同じですが、さまざまな属性セットとそのIDをいじる必要がないため、よりきめ細かい制御が可能です。また、属性セットIDよりも属性名を制御する方がはるかに簡単です。
---編集---ボタンの代わりにコンテンツを配置するには:
<?php if(!$_product->getNotForSale()) : ?>
<?php echo $this->getChildHtml('addtocart') ?>
<?php else : ?>
<?php echo $this->__('Call Us to Order') ?>
... or whatever else you may want here ...
<?php endif ?>