繁体   English   中英

如何从购物车Url中为产品生成删除? (Magento的)

[英]How do i generate Remove from cart Url for a product ? (Magento)

是否可以为具有自定义功能的产品创建“从购物车移除”Url,以便我可以将该功能放在我的自定义块中,以便用户从购物车中删除商品...

对我有用的是直接来源:

加:

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() ) );

如果您检查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即可。

希望这可以帮助。

其中$_itemMage_Sales_Model_Quote_Item_Abstract对象:

$renderer = new Mage_Checkout_Block_Cart_Item_Renderer();
$renderer->setItem($_item);
$renderer->getDeleteUrl();

结合不同的答案后,最简单的工作

将其添加到文件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 }?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM