我对magento很新,有一个简单的问题......
在我的cart.phtml中,我有以下代码:
<div class="cart">
<div class="page-title">
<h1><?php echo $this->__('Shopping Cart') ?></h1>
</div>
<?php if(!$this->hasError()): ?>
<ul class="checkout-types">
<?php foreach ($this->getMethods('top_methods') as $method): ?>
<?php if ($methodHtml = $this->getMethodHtml($method)): ?>
<li><?php echo $methodHtml; ?></li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
<?php echo $this->getChildHtml('form_before') ?>
<form action="<?php echo $this->getUrl('checkout/cart/updatePost') ?>" method="post">
<fieldset>
<table id="shopping-cart-table" class="data-table cart-table">
<?php $mergedCells = ($this->helper('tax')->displayCartBothPrices() ? 2 : 1); ?>
<thead>
<tr>
<th class="a-center" rowspan="<?php echo $mergedCells; ?>"> </th>
<th class="a-center" rowspan="<?php echo $mergedCells; ?>"><span class="nobr"><?php echo $this->__('Product Name') ?></span></th>
<th class="a-center" rowspan="<?php echo $mergedCells; ?>"></th>
<th class="a-center" colspan="<?php echo $mergedCells; ?>"><span class="nobr"><?php echo $this->__('Unit Price') ?></span></th>
<th rowspan="<?php echo $mergedCells; ?>" class="a-center"><?php echo $this->__('Qty') ?></th>
<th class="a-center" colspan="<?php echo $mergedCells; ?>"><?php echo $this->__('Subtotal') ?></th>
<?php if ($this->helper('wishlist')->isAllowInCart()) : ?>
<th rowspan="<?php echo $mergedCells; ?>" class="a-center"><span class="nobr"><?php echo $this->__('Move to Wishlist') ?></span></th>
<?php endif ?>
<th rowspan="<?php echo $mergedCells; ?>" class="a-center"><?php echo $this->__('Remove product') ?></th>
</tr>
<?php if ($this->helper('tax')->displayCartBothPrices()): ?>
<tr>
<th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
<th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
<th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
<th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
</tr>
<?php endif; ?>
</thead>
<tbody>
<?php foreach($this->getItems() as $_item): ?>
<tr>
<th class="a-center" rowspan="<?php echo $mergedCells; ?>"> </th>
<th class="a-center" rowspan="<?php echo $mergedCells; ?>"><span class="nobr"><?php echo $_item->getName()?></span></th>
<th class="a-center" rowspan="<?php echo $mergedCells; ?>"></th>
<th class="a-center" colspan="<?php echo $mergedCells; ?>"><span class="nobr"><?php echo $_item->getPrice() ?></span></th>
<th rowspan="<?php echo $mergedCells; ?>" class="a-center"><?php echo $_item->getQty() ?></th>
<th class="a-center" colspan="<?php echo $mergedCells; ?>"><?php echo $_item->getPrice() * $_item->getQty() ?></th>
<?php if ($this->helper('wishlist')->isAllowInCart()) : ?>
<th rowspan="<?php echo $mergedCells; ?>" class="a-center"><span class="nobr"><?php echo $this->__('Move to Wishlist') ?></span></th>
<?php endif ?>
<th rowspan="<?php echo $mergedCells; ?>" class="a-center"> <button type="button" class="button btn-cart" onclick="setLocation('<?php echo $this->getDeleteUrl(); ?>')"><span><span><?php echo $this->__('Remove from Cart') ?></span></span></button>
</th>
</tr>
<?php endforeach ?>
</tbody>
<tfoot>
<tr>
<td colspan="50" class="a-right">
<?php if($this->getContinueShoppingUrl()): ?>
<button type="button" title="<?php echo $this->__('Continue Shopping') ?>" class="button btn-continue left" onclick="setLocation('<?php echo $this->getContinueShoppingUrl() ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
<?php endif; ?>
<button type="submit" name="update_cart_action" value="update_qty" title="<?php echo $this->__('Update Shopping Cart'); ?>" class="button btn-update"><span><span><?php echo $this->__('Update Shopping Cart'); ?></span></span></button>
<button type="submit" name="update_cart_action" value="empty_cart" title="<?php echo $this->__('Clear Shopping Cart'); ?>" class="button btn-empty" id="empty_cart_button"><span><span><?php echo $this->__('Clear Shopping Cart'); ?></span></span></button>
<!--[if lt IE 8]>
<input type="hidden" id="update_cart_action_container" />
<script type="text/javascript">
//<![CDATA[
Event.observe(window, 'load', function()
{
// Internet Explorer (lt 8) does not support value attribute in button elements
$emptyCartButton = $('empty_cart_button');
$cartActionContainer = $('update_cart_action_container');
if ($emptyCartButton && $cartActionContainer) {
Event.observe($emptyCartButton, 'click', function()
{
$emptyCartButton.setAttribute('name', 'update_cart_action_temp');
$cartActionContainer.setAttribute('name', 'update_cart_action');
$cartActionContainer.setValue('empty_cart');
});
}
});
//]]>
</script>
<![endif]-->
</td>
</tr>
</tfoot>
</table>
<script type="text/javascript">decorateTable('shopping-cart-table')</script>
</fieldset>
</form>
<div class="cart-collaterals">
<div class="col2-set">
<div class="col-1">
<?php echo $this->getChildHtml('crosssell') ?>
</div>
<div class="col-2">
<?php /* Extensions placeholder */ ?>
<?php echo $this->getChildHtml('checkout.cart.extra') ?>
<?php echo $this->getChildHtml('coupon') ?>
<?php if (!$this->getIsVirtual()): echo $this->getChildHtml('shipping'); endif; ?>
</div>
</div>
<div class="totals">
<?php echo $this->getChildHtml('totals'); ?>
<?php if(!$this->hasError()): ?>
<ul class="checkout-types">
<?php foreach ($this->getMethods('methods') as $method): ?>
<?php if ($methodHtml = $this->getMethodHtml($method)): ?>
<li><?php echo $methodHtml; ?></li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</div>
</div>
</div>
如何从购物车中删除商品?有人可以告诉我是否有预定义的方法以及如何实现它以使其工作?:
<th rowspan="<?php echo $mergedCells; ?>" class="a-center"> <button type="button" class="button btn-cart" onclick="setLocation('<?php echo $this->getDeleteUrl(); ?>')"><span><span><?php echo $this->__('Remove from Cart') ?></span></span></button></th>
答案 0 :(得分:1)
您不应该使用此模板显示项目。你应该使用
<?php foreach($this->getItems() as $_item): ?>
<?php echo $this->getItemHtml($_item) ?>
<?php endforeach ?>
请参阅/app/design/frontend/default/contempospace/template/checkout/cart/item/default.phtml(如果您添加带有属性的产品,并希望在购物车中显示它们,那么您可能需要在未来)
但如果您想这样做,请更改
<?php echo $this->getDeleteUrl(); ?>
要
<?php echo $this->getUrl('checkout/cart/delete', array('id' => $_item->getId()))
EG。
<th rowspan="<?php echo $mergedCells; ?>" class="a-center"> <button type="button" class="button btn-cart" onclick="setLocation('<?php echo $this->getUrl('checkout/cart/delete', array('id' => 'xxxx')) ?>)"><span><span><?php echo $this->__('Remove from Cart') ?></span></span></button></th>
有关更好的说明,请参阅How to get url to remove product from cart in Magento?