如何在可配置的产品页面上添加自定义空购物车按钮:Magento


How to add a custom empty cart button on configurable product page:Magento

我有一个带有两个选项的可配置产品,我想在该页面上添加一个空购物车按钮来清空项目:

我已经从购物车页面复制了按钮并嵌入了它,但它不起作用。请建议一种添加按钮的方法。

 <button type="submit" name="update_cart_action" value="empty_cart" title="<?php echo $this->__('Empty Cart'); ?>" class="button2 btn-empty" id="empty_cart_button"><span><span><?php echo $this->__('Empty Cart'); ?></span></span></button>

您需要创建一个新控制器,然后将控制器的操作添加到刚刚创建的按钮中。

然后创建一个模型来清空当前项$quote。这是基本理论。

Inchoo创建了类似于您想要的东西 在这里查看。

如果你看一下Mage_Checkout_CartControllerupdatePostAction函数,你确实应该能够按照你想要的方式做到这一点。但是现在您的按钮没有链接到表单,因此它不执行任何操作。

但是,您还需要一个有效的表单密钥才能正常工作。

Mage_Checkout_CartController摘录 :

public function updatePostAction()
{
    if (!$this->_validateFormKey()) {
        $this->_redirect('*/*/');
        return;
    }
    $updateAction = (string)$this->getRequest()->getParam('update_cart_action');
    switch ($updateAction) {
        case 'empty_cart':
            $this->_emptyShoppingCart();
            break;
        case 'update_qty':
            $this->_updateShoppingCart();
            break;
        default:
            $this->_updateShoppingCart();
    }
    $this->_goBack();
}

所以这应该是有效的:

<form action="<?php echo $this->getUrl('checkout/cart/updatePost') ?>" method="post">
    <?php echo $this->getBlockHtml('formkey'); ?>
    <button type="submit" name="update_cart_action" value="empty_cart" title="<?php echo $this->__('Empty Cart'); ?>" class="button2 btn-empty" id="empty_cart_button"><span><span><?php echo $this->__('Empty Cart'); ?></span></span></button>
</form>