是否可以为具有自定义功能的产品创建“从购物车移除”网址,以便我可以将该功能放在我的自定义功能块中,以便用户从购物车中删除商品...
答案 0 :(得分:6)
对我有用的是直接来源:
添加:
Mage::getUrl( 'checkout/cart/add', array( 'id' => $item->getId() ) );
编辑:
Mage::getUrl( 'checkout/cart/configure', array( 'id' => $item->getId() ) );
删除:
Mage::getUrl( 'checkout/cart/delete', array( 'id' => $item->getId() ) );
答案 1 :(得分:4)
如果你检查app / code / core / Mage / Checkout / Block / Cart / Item / Renderer.php并找到方法:getDeleteUrl()将提供一些关于它如何生成的见解:
/**
* Get item delete url
*
* @return string
*/
public function getDeleteUrl()
{
return $this->getUrl(
'checkout/cart/delete',
array(
'id'=>$this->getItem()->getId(),
Mage_Core_Controller_Front_Action::PARAM_NAME_URL_ENCODED => $this->helper('core/url')->getEncodedUrl()
)
);
}
您可以在template / checkout / cart / item / default.phtml中找到对此的调用:
<td class="a-center"><a href="<?php echo $this->getDeleteUrl()?>" title="<?php echo $this->__('Remove item')?>" class="btn-remove btn-remove2"><?php echo $this->__('Remove item')?></a></td>
使用此信息,您应该能够为购物车创建一个新的控制器操作,只需删除购物车索引中产品的特定ID。
希望这有帮助。
答案 2 :(得分:4)
$_item
是Mage_Sales_Model_Quote_Item_Abstract
对象的位置:
$renderer = new Mage_Checkout_Block_Cart_Item_Renderer();
$renderer->setItem($_item);
$renderer->getDeleteUrl();
答案 3 :(得分:0)
结合不同答案后最简单的工作
将其添加到文件lists.phtml(template / catlog / product)
的顶部<?php
//getting cart count
$currentDelete = array();
$quote = Mage::getSingleton('checkout/session')->getQuote();
foreach($quote->getAllItems() as $item){
if($item->getProductId()){
$currentDelete[$item->getProductId()] = Mage::getUrl( 'checkout/cart/delete', array( 'id' => $item->getId() ) );
}
}
?>
在
<?php if($_product->isSaleable()): ?>
添加此
<?php
if (isset($currentDelete) and array_key_exists($_product->getId(), $currentDelete)) { ?>
<div class="curCart">
<a href=" <?php echo $currentDelete[$_product->getId()]; ?>">Remove</a>
</div>
<?php }?>