getAddUrl和getAddToCartUrl函数有什么区别?

时间:2014-01-22 11:11:32

标签: magento

我发现两个函数返回完全相同的值。

getAddUrl

中的

\app\code\local\Mage\Checkout\Helper\Cart.php getAddToCartUrl

中的

\app\code\local\Mage\Catalog\Block\Product\Abstract.php

这两者之间的区别是什么?因为我在我的块中添加了一个添加到购物车按钮。 我应该使用哪种功能?

3 个答案:

答案 0 :(得分:1)

考虑以下示例

<?php if ($this->helper('wishlist')->isAllow()) : ?>
   <li><a href="<?php echo $this->helper('wishlist')->getAddUrl($_product) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li>
<?php endif; ?>

<?php if($_cartUrl=$this->getAddToCartUrl($_product)): ?>
   <li><span class="separator">|</span> <a href="<?php echo $_cartUrl ?>" class="link-cart"><?php echo $this->__('Add to Cart') ?></a></li>
<?php endif; ?>

getAddUrl可以获取与其关联的帮助程序的URL,例如:wishlist,compare等。 但getAddToCartUrl只会为您提供传递给它的产品的添加到购物车网址。

我希望它为你澄清事情

答案 1 :(得分:0)

你的块是否继承了Mage_Catalog_Block_Product_Abstract类?如果是这样,你应该使用块的getAddToCartUrl方法。

否则你应该使用帮助器,没有简洁的方法来调用块方法而不创建块,在这种情况下是一个产品块。

答案 2 :(得分:0)

这两个功能之间的区别在于,如果产品具有所需选项,getAddToCartUrlMage_Catalog_Block_Product_Abstract)将返回产品视图页面网址。 getAddUrlMage_Checkout_Helper_Cart)将始终返回用于将商品添加到购物车的网址。