0

我正在创建一个 Magento 类别页面,它允许用户从类别页面添加可配置产品。这超出了 Magento 想要开箱即用的操作方式。

我已经达到了 99.9% 的程度,但是在使用一些最终的 javascript 时遇到了问题。

我已经设法在页面上构建了所​​有可配置产品,其中包含尺寸属性的选择下拉列表和每个产品的添加到购物车按钮。

选择下拉菜单将->getAddUrl()方法作为其值。因此,在“添加到购物车”按钮的 onclick 事件中,我使用 window.location(thegetAddUrlLink) 将产品添加到购物车。

不幸的是,由于某些未知原因,这不起作用,它只是将我带到该产品的单个产品页面并要求选择尺寸。这很奇怪,因为如果我从源(从值字段)复制该页面上任何产品的相同链接并将其粘贴到我的浏览器中,那么我会得到预期的结果。

下面是在页面上标记一个产品的示例

    <form action="http://www.mysite.com/checkout/cart/add/" method="post" style="display:block; clear:both;"> 

        <p class="shopthislookpageselectsize">Size</p>
            <div class="shopthislookpageselectholder"> 
            <select name="select-35900" id="select-35900" class="required-entry shopthislookpageselect">

            <option value="http://www.mysite.com/checkout/cart/add/uenc/aHR0cDovL3d3dy5jdWx0dXJla2luZ3MuY29tLmF1L3Nob3AtdGhpcy1sb29rL2Zlc3RpdmFsLWdlYXJzLTEuaHRtbA,,/product/35895/">ONE SIZE</option>
<option value="http://www.mysite.com/checkout/cart/add/uenc/aHR0cDovL3d3dy5jdWx0dXJla2luZ3MuY29tLmF1L3Nob3AtdGhpcy1sb29rL2Zlc3RpdmFsLWdlYXJzLTEuaHRtbA,,/product/22533/">28</option>                                
            </select>
            </div>
    <button class="button btn-cart" input="" type="hidden" name="product" id="button-35900" value="35900" onclick="addLookItemsToCart(this.id); return false;"><span><span>Add to Cart</span></span></button>


    <script type="text/javascript">
                function addLookItemsToCart(id){

                            var clickedId = id;
                            var theValue = clickedId.replace("button-", "");
                            var theLink = $j('#select-'+theValue).val() );
                            window.location = theLink;

                };
                </script>
                </form>

只是重申一下。例如,如果我http://www.mysite.com.au/checkout/cart/add/uenc/aHR0cDovL3d3dy5jdWx0dXJla2luZ3MuY29tLmF1L3Nob3AtdGhpcy1sb29rL2Zlc3RpdmFsLWdlYXJzLTEuaHRtbA,,/product/35895/从源中复制链接并将其粘贴到浏览器中,我会得到预期的结果。如果我使用 window.location 的 javascript 方法,它会重定向我,要求我确认大小,我不知道为什么。

4

1 回答 1

0

问题出在javascript中

该行有一个额外的右括号')'。

$j('#select-'+theValue).val() );
于 2013-07-03T06:39:41.643 回答