質問

私は問題を抱えています tierPriceHtml カートページに各アイテムを表示します。

これは私が中に持っているものです checkout/cart/item/default.phtml:

$custom = Mage::getModel('catalog/product')->load($_item->getProductId());
$tierPrice = $custom->getTierPriceHtml();
echo $tierPrice;

ただし、これは何もエコーしません。私も運がなくてこれを試しました:

echo $this->getTierPriceHtml()

これどうやってするの?表示するためにCheckout.xmlファイルを変更するために何かをする必要がありますか?

これが私のチェックアウト/cart/item/default.phtmlファイル全体です。

http://pastebin.com/4wk2pp9zu

役に立ちましたか?

解決

カートビューページに各カートアイテムの階層型価格を表示したいと思っていますが、これを質問に明確にする価値があるかもしれません。

あなたはメソッドを呼び出そうとしているようです getTierPrice() から Mage_Catalog_Model_Product の代わりにクラス Mage_Catalog_Block_Product_Abstract クラス。

拡張する独自のカスタムブロックを作成できます Mage_Catalog_Block_Product_Abstract しかし、あなたが望むものを達成する最も簡単な方法は、の新しいインスタンスを作成することです Mage_Catalog_Block_Product_View 各アイテムに対して。

これを追加してください $_item = $this->getItem(); 内部チェックアウト/cart/item/default.phtml:

$_tierPricing = $this->getLayout()->createBlock(
    'catalog/product_view',
    'product.tierprices',
    array(
        'product_id' => $_item->getProductId()
    )
);
$_tierPricing->setTemplate('catalog/product/view/tierprices.phtml');

そして、あなたがあなたの価格設定情報を置きたい場所:

<?php echo $_tierPricing->getTierPriceHtml();?>
  1. 最初の行で、新しい製品ビューブロックを作成し、製品のIDに渡します。 これは、_prepareLayoutメソッドのエラーを回避するためにブロックがインスタンス化された後ではなく、作成段階で今行われることが重要です。
  2. 次に、階層化された価格テンプレートを設定します。おそらく、カートのみに使用される新しいテンプレートを作成する必要があります。多分 checkout/cart/item/tierprices.phtml
  3. これで、GetTierPriceHTML()メソッドを正常に使用できます。

他のヒント

このような製品の階層型価格の配列を手に入れることができました。

$custom = Mage::getModel('catalog/product')->load($_item->getProductId());
var_dump($custom->getTierPrice());

これにより、配列を簡単に読みやすいものにフォーマットできます。デモからのサンプル出力は次のとおりです。

array(3) {
  [0]=>
  array(7) {
["price_id"]=>
string(2) "11"
["website_id"]=>
string(1) "0"
["all_groups"]=>
string(1) "1"
["cust_group"]=>
int(32000)
["price_qty"]=>
string(6) "5.0000"
["price"]=>
string(8) "599.0000"
["website_price"]=>
string(8) "599.0000"
 }
 [1]=>
array(7) {
["price_id"]=>
string(2) "12"
["website_id"]=>
string(1) "0"
["all_groups"]=>
string(1) "1"
["cust_group"]=>
int(32000)
["price_qty"]=>
string(7) "10.0000"
["price"]=>
string(8) "499.0000"
["website_price"]=>
string(8) "499.0000"
}
[2]=>
array(7) {
["price_id"]=>
string(2) "13"
["website_id"]=>
string(1) "0"
["all_groups"]=>
string(1) "1"
["cust_group"]=>
int(32000)
["price_qty"]=>
string(7) "15.0000"
["price"]=>
string(8) "399.0000"
 ["website_price"]=>
 string(8) "399.0000"
  }
}

jharrison.auの動作によって提案されている実装ですが、ショッピングカートのティア価格に別のデザインを使用したい場合は、変更する必要があります

$_tierPricing->setTemplate('catalog/product/view/tierprices.phtml');

にとって

$_tierPricing->setTierPriceTemplate('catalog/product/view/tierprices.phtml');

ありがとう

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top