2012-05-09 5 views
4

「カートに追加」ボタンを削除して連絡先フォームへのリンクを追加することで、「売り切れ」になっている商品をいくつか設定したいと思います。Magento - 販売されていない製品

私はこのソリューションを数週間探しています。

http://www.e-commercewebdesign.co.uk/blog/magento-tutorials/non-salable-products-with-attribute-sets.php

しかし、私はそれを動作させることができない:検索、私はこの記事を見つけました。誰かが詳細を教えてくれますか?

+0

どこまであなたはそのチュートリアルを手に入れましたの?どの部分がうまく動作せず/エラーを投げたのですか?正しいID(ガイドにある4つだけではない)を使用しましたか? –

答えて

7

このチュートリアルはうまくいきますが、私は別の方法でやります。

まず、このチュートリアルでは、特定の属性セットIDを使用するように強制します。プロダクトID、カテゴリIDなどと同様に、開発/プロダクションサーバ環境を管理している場合は変更される可能性があります。私はこれをお勧めしません。

私は個人的に(より良い方法があると知っています)、私は 'Not For Sale'の行に沿って新しい商品属性を作成します。この属性を「はい/いいえ」に設定し、既定値を「いいえ」(販売用)にします。

<?php echo $this->getChildHtml('addtocart') ?> 

このチャンクをラップ:あなたのような何かが、アドオンのカートボタンを表示するコードの塊を見つけ、例えばview.phtmlでは、カートに追加]ボタンを持って次に

<?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 ?> 
+0

こんにちは、pspah。あなたのソリューションは魅力的に機能しました!ありがとうございました!もう1つの質問...そこに声明を表示するにはどうしたらいいですか?たとえば、「お電話ください」と入力します。 – Brightweb

+0

編集された編集を参照してください... – pspahn

+0

大変感謝して@pspahn。あなたがそれについて考えるとき、とても意味をなさない。 – PaulSkinner

関連する問題