我遇到了以下问题:
我有一家商店,其中我想让用户只购买一些文章,例如8次。我在我的数据库中创建了一个名为“gm_max_order”的列,其中包含可以购买多少产品的最大数量。我还设法让它工作,当您输入数字> gm_max_order
时,文章无法添加到购物车。
现在问题是,如果gm_max_order是8,例如,我不能将9添加到我的购物车,但我可以添加2x7。我需要知道如何在点击"AddToCart"
按钮时将输入字段(人们选择他们想要购买的数量)与购物车内容进行比较。
这是我的输入和购物车按钮:
{if $module_data.QTY_DATA.VALUE != 1 || (($GM_SHOW_QTY == '1' && $module_data.GM_ATTRIBUTES) || ($GM_SHOW_QTY == '1' && $module_data.GM_HAS_ATTRIBUTES == '0'))}
<span class="quantity_container">
{if $module_data.UNIT}<label for="{$module_data.QTY_DATA.ID}" class="products_quantity_unit">{$module_data.UNIT}</label>{/if}
<input type="{$module_data.QTY_DATA.TYPE}" name="{$module_data.QTY_DATA.NAME}" id="{$module_data.QTY_DATA.ID}" class="article-count-input numeric input-text products_quantity {$module_data.QTY_DATA.CLASS}" value="{$module_data.QTY_DATA.VALUE}" />
</span>
{else}
<input type="hidden" name="{$HIDDEN_QTY_NAME}" value="{$module_data.QTY_DATA.VALUE}" />
{/if}
这是addtocart按钮:
<a href="{$module_data.GM_PRODUCTS_BUTTON_BUY_NOW_URL}" class="addcart button_green button_set action_add_to_cart"{if $module_data.PRODUCTS_NAME != ''} title="{$module_data.PRODUCTS_NAME|replace:'"':'"'} {$txt.text_buy}"{/if}
onclick="return checkAddToCart(event, '{$module_data.QTY_DATA.ID}', {$product_stock}, {$product_max_order});">
购物车只是一些DIV。
答案 0 :(得分:0)
有很多解决方案。我认为最好的方法是session + ajax的混合。将您的购物车作为数组,对象或您喜欢的任何内容保存到会话中。添加新文章时,对特定控制器进行ajax调用,该控制器检查会话并返回json响应。我不知道你正在使用什么框架,但我不认为创建这样的控制器会很困难。