2014-01-22 48 views
0

我發現兩個函數返回完全相同的值。函數getAddUrl和getAddToCartUrl有什麼區別?

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

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

什麼是真正的這兩者之間的區別嗎?因爲我加入了一個購買有我的塊按鈕。 我應該使用哪個函數?

回答

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可以獲取你的網址,你用它,如關聯的幫手:心願,比較等 但getAddToCartUrl只會讓你添加到購物車網址爲產品傳遞給它。

我希望澄清事情對你

+0

謝謝@sanket我現在明白了。謝謝。 我可以將產品數組傳遞給getAddToCartUrl,因爲當我這樣做時,我的頁面出現錯誤。 – Waseem

0

您的塊是否繼承Mage_Catalog_Block_Product_Abstract類?如果是這樣,你應該使用塊的getAddToCartUrl方法。

否則,您應該使用助手,沒有在這種情況下創建塊的方法調用塊方法沒有一種產品塊。

0

這兩個函數的區別在於getAddToCartUrlMage_Catalog_Block_Product_Abstract)將返回查看產品頁面URL,如果產品已經所需的選項。 和getAddUrlMage_Checkout_Helper_Cart)將始終返回網址以將產品添加到購物車。