如何在Magento结账页面上编辑数量显示

时间:2012-03-21 14:31:27

标签: magento

我添加了一个可在此处找到的扩展程序:http://www.magentocommerce.com/boards/viewthread/33997/#t197176

它会在捆绑产品的复选框选项中添加数量框。

这个问题是,无论用户在数量框中输入什么内容,它都会显示为1 X产品(不显示用户定义的数量)。我无法弄清楚代码的位置,我需要在购物车中更改以获取正确的数量。

非常感谢任何见解!即使它只是代码在购物车中定义该数量的地方。 Magento ver。 1.6.2.0

非常感谢!

2 个答案:

答案 0 :(得分:0)

我下载了扩展程序,默认情况下模板mod看起来像/app/design/frontend/default/blank/template/

/app/design/frontend/default/blank/template/bundle/catalog/product/view/type/bundle/option/checkbox.phtml复制到/app/design/frontend/base/default/template/bundle/catalog/product/view/type/bundle/option/checkbox.phtml(或进入当前主题的路径 - 例如/app/design/frontend/YOUR_PACKAGE/YOUR_THEME)。

HTH

答案 1 :(得分:0)

你可以通过编辑item.phtml(template / checkout / onepage / review / item.phtml)和第47行之后的这些行来实现。

<td class="a-center"><?php echo $_item->getQty() ?></td>   
    <td class="a-center">
        <input name="cart[<?php echo $_item->getId() ?>][qty]" value="<?php echo $this->getQty() ?>" size="4" name="update_cart_action" id="cup_<?php echo $_item->getId() ?>"  class="input-text qty" maxlength="12" />
    </td>
   <td> <button type="submit" name="update_cart_action" value="update_qty" title="<?php echo $this->__('shopping-cart-table'); ?>" id="up_<?php echo $_item->getId() ?>" class="button btn-update"><span><span><?php echo $this->__('Update'); ?></span></span></button><td>

并将Jquery代码放在最后

<script type="text/javascript">
jQuery(document).ready(function(){
    jQuery(".btn-update").click(function(){


        var id = "#c"+this.id;
        var quan = jQuery(id).val();
        var lastChar = id.substr(id.length - 1);

        jQuery.ajax({
            url: "<?php echo Mage::getBaseUrl(); ?>checkout/cart/updatePosts/",
            data: "cart["+lastChar+"][qty]="+quan,
            async: false,
                success: function(html){

                    location.reload();

                }
        })
    })
})
</script>

现在覆盖cartcontroller.php并放置原始cartcontroller.php的所有函数,并通过函数updatePostsAction重命名函数updatePostAction。 并将重定向路径更改为$this->_redirect('checkout/onepage');