我正在寻找一种方法来显示产品的“估计交付”,使用我已经制作的“交付”属性.
到目前为止,我已经设法将这个:
<?PHP $delivery= Mage::getSingleton('catalog/product')->load($this->getProduct()->getId())->getAttributeText('Delivery'); ?>
<?PHP if(isset($delivery)){
echo $delivery;
}
?>
template / checkout / cart / item / default.phtml – 第38/39行之间(Magento版本1.6.2)
这是第35-49行的default.phtml,代码添加到h2标记:
<h2 class="product-name">
<?PHP $_item = $this->getItem()?>
<?// Delivery - Script ?>
<?PHP $_product= Mage::getSingleton('catalog/product')->load($_item->getProductId()) ?>
<?PHP $delivery= Mage::getSingleton('catalog/product')->load($this->getProduct()->getId())->getAttributeText('Delivery'); ?>
<?PHP if(isset($delivery)){
echo $delivery;
}
?>
<?PHP if ($this->hasProductUrl()):?>
<a href="<?PHP echo $this->getProductUrl() ?>"><?PHP echo $this->htmlEscape($this->getProductName()) ?></a>
<?PHP else: ?>
<?PHP echo $this->htmlEscape($this->getProductName()) ?>
<?PHP endif; ?>
</h2>
问题是,添加到购物车的第一个产品被跳过,它总是显示属性未设置,但第二个,第三个和其他产品添加到购物车,效果很好,显示他们的交货日期很好.
从这里开始,我不确定如何继续?
解决方法:
使用单例将导致重复调用相同的对象,因此先前的对象数据将被覆盖.