我正在尝试使用我在其上使用的Upsell产品而不是view.phtml上的相关产品来使用“添加到购物车”按钮前面的数量字段。我也使用AheadWorks Ajax AddToCart Pro 2.5扩展。
现在,我正在使用此代码段添加没有数量字段的产品:
<form action="<?php echo $this->getAddToCartUrl($_link) ?>" method="post" id="view_addtocart_form_<?php echo $_link->getId(); ?>"><button onclick="setLocation('<?php echo $this->getAddToCartUrl($_link) ?>')" class="greenbutton" title="Add to Cart" type="button"><span><span>Add to Cart</span></span></button></form>
这很好用,但由于缺少数量字段,我无法更改数量。然后我尝试在我的list.phtml中使用它,它在类别视图中工作正常:
<script type="text/javascript">
function setQty(id, url) {
var qty = document.getElementById('qty_' + id).value;
document.getElementById('cart_button_' + id).innerHTML = '<button type="button" class="greenbutton-small" onclick="setLocation(\'' + url + 'qty/' + qty + '/\')"><span><span>Læg i kurv</span></span></button>';
}
</script>
<label for="qty"><?php echo $this->__('Qty:') ?></label>
<input type="text" name="qty_<?php echo $_product->getId(); ?>" id="qty_<?php echo $_product->getId(); ?>" maxlength="12" value="1" onkeyup="setQty(<?php echo $_product->getId(); ?>, '<?php echo $this->getAddToCartUrl($_product) ?>');" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
<span id="cart_button_<?php echo $_product->getId(); ?>">
<button type="button" class="greenbutton-small" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button></span>
现在,有趣的是,如果我尝试在upsell.phtml中使用它,这不起作用,但我无法弄清楚为什么?这在类别视图中与AW的Ajax Cart Pro完美配合。
答案 0 :(得分:4)
在upsell.phtml
中,产品对象按以下代码调用$_link
:
<?php if($_link=$this->getIterableItem()): ?>
如果您尝试在upsell.phtml
中添加代码,那么您必须将$_product
更改为$_link
,如下所示:
<label for="qty"><?php echo $this->__('Qty:') ?></label>
<input type="text" name="qty_<?php echo $_link->getId(); ?>" id="qty_<?php echo $_link->getId(); ?>" maxlength="12" value="1" onkeyup="setQty(<?php echo $_link->getId(); ?>, '<?php echo $this->getAddToCartUrl($_link) ?>');" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
<span id="cart_button_<?php echo $_link->getId(); ?>">
<button type="button" class="greenbutton-small" onclick="setLocation('<?php echo $this->getAddToCartUrl($_link) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button></span>
它应该在以下行之后:
<?php if($_link=$this->getIterableItem()): ?>