Frage

Ich habe ein Problem damit, das zu bekommen tierPriceHtml So zeigen Sie für jedes Element auf der Karrenseite an.

Das habe ich im Inneren checkout/cart/item/default.phtml:

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

Dies wird jedoch nichts wiederholen. Ich habe es auch ohne Glück versucht:

echo $this->getTierPriceHtml()

Wie kann ich das machen? Sollte ich etwas tun, um die Datei checkout.xml zu ändern, um sie anzuzeigen?

Hier ist meine gesamte Kasse/Karren/Artikel/default.phtml -Datei:

http://pastebin.com/4wk2p9zu

War es hilfreich?

Lösung

Ich gehe davon aus, dass Sie die abgestuften Preisgestaltung für jeden Wagenelement auf der CART -Ansichtsseite anzeigen möchten. Es kann sich möglicherweise in Ihrer Frage klarstellen.

Es sieht so aus, als würden Sie versuchen, die Methode anzurufen getTierPrice() von dem Mage_Catalog_Model_Product Klasse statt der Mage_Catalog_Block_Product_Abstract Klasse.

Sie können Ihren eigenen benutzerdefinierten Block erstellen, der sich erstreckt Mage_Catalog_Block_Product_Abstract Aber der einfachste Weg, um das zu erreichen, was Sie wollen, besteht darin, eine neue Instanz von zu schaffen Mage_Catalog_Block_Product_View für jeden Gegenstand.

Fügen Sie dies nach $_item = $this->getItem(); In Inside Checkout/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');

Und wo Sie dann Ihre Preisinformationen einsetzen möchten:

<?php echo $_tierPricing->getTierPriceHtml();?>
  1. In der ersten Zeile erstellen wir einen neuen Produktansichtsblock und geben die ID der Produkte ein. Es ist wichtig, dass dies jetzt während der Erstellungsphase durchgeführt wird, nachdem der Block instanziiert wurde, um Fehler in der _preparelayout -Methode zu vermeiden.
  2. Dann setzen wir die abgestufte Preisvorlage, Sie sollten wahrscheinlich eine neue Vorlage erstellen, die nur für den Wagen verwendet wird. Vielleicht checkout/cart/item/tierprices.phtml
  3. Jetzt können wir die GetTierpricehTML () -Methode erfolgreich verwenden.

Andere Tipps

Ich konnte eine Reihe von abgestuften Preisen für das Produkt wie dieses erhalten:

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

Damit können Sie das Array in etwas leicht lesbares Format formatieren. Hier ist die Beispielausgabe von meiner Demo:

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"
  }
}

Die Implementierung von Jharrison.au Arbeit vorschlägt, aber wenn Sie ein anderes Design für den Tierpreis im Einkaufswagen verwenden möchten, müssen Sie geändert werden

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

zum

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

Vielen Dank

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top