微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Magento – 在购物车中显示自定义属性

我正在寻找一种方法显示产品的“估计交付”,使用我已经制作的“交付”属性.

到目前为止,我已经设法将这个:

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

问题是,添加到购物车的第一个产品被跳过,它总是显示属性未设置,但第二个,第三个和其他产品添加到购物车,效果很好,显示他们的交货日期很好.

从这里开始,我不确定如何继续?

解决方法:

使用单例将导致重复调用相同的对象,因此先前的对象数据将被覆盖.

一旦你从singleton变为getModel,你就有了每个产品的实例,所以不要在同一个实例上写过.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐