首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预Prestashop产品定制-储蓄到购物车

预Prestashop产品定制-储蓄到购物车
EN

Stack Overflow用户
提问于 2015-12-29 16:50:21
回答 1查看 2K关注 0票数 9

预铺1.6

我创建了一个模块,将表单添加到产品页面。我使用预prestashop模块生成器创建了一个基本的基本模块。除了通过钩子将表单添加到产品页面之外,它什么也不做。

我使用的是默认引导主题。

表单是通过一个.tpl文件生成的,该文件基于产品所在的类别(即,如果它在类别A中,则显示表单A)。该表格如下:

代码语言:javascript
复制
<form id="engraving_selection">
    <h3>Engraving Options</h3>
    <input type="radio" name="engraving" value="Engrave-Different" id="engrave_different" checked="checked">Unique engraving for each item<br />
    <input type="radio" name="engraving" value="Engrave-Same" id="engrave_same">The engraving would the same on each item<br />
    <input type="radio" name="engraving" value="No-Engraving" id="no_engraving">I would not like engraving<br />
</form>
<form id="engraving_options">
    <h4>Engraving Text</h4>
    <div id="items">
        <div class="item" data-position="1">
            <h4 id="engraving-item">Item 1</h4>
            <label>Engraving Line 1: </label>
            <input type="text" class="engraving-input" name="line1-trophy" id="item1">
            <br />
            <label>Engraving Line 2: </label>
            <input type="text" class="engraving-input" name="line2-trophy" id="item1">
            <br />
            <label>Engraving Line 3: </label>
            <input type="text" class="engraving-input" name="line3-trophy" id="item1">
            <br />
        </div>
    </div>
</form>

这个表单是一个无线电输入的选择,然后是3个文本输入。如果用户更改了数量,则通过javascript相应地添加另外3个输入(因此,如果用户将数量更改为“2”,则在每个产品上出现2组用于定制的3种输入)。

我想要一些关于保存这些输入和用户单击“添加到购物车”时输入的信息的指导,以便以后(在用户签出之前)可以检索/编辑这些输入和信息。

通过一些研究,我了解了ajax-cart.js,特别是这个函数:

代码语言:javascript
复制
add : function(idProduct, idCombination, addedFromProductPage, callerElement, quantity, whishlist)

传递数据以便保存/检索数据的最佳方法是什么?

最终,我希望它包含在订单中(很明显),并与该订单一起保存到数据库中,以便将来使用。

我知道插件属性向导Pro存在-但我希望扩大我的知识,并在我自己的一些东西。

如果有其他方法来做这件事,那会更干净/更容易,我也愿意接受这些建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-13 20:06:43

您可以创建一个全新的解决方案,但它需要很长的时间和许多代码行。

最好的选择是使用Prestashop内置产品定制选项。

  1. 转到Backoffice,并选择一个Product Edit > Customization选项卡。
  2. 添加Text fields编号,您可以认为这是一个产品的最大值。

  1. 向产品页面添加一些javascript,隐藏/显示这些文本字段输入(因为它们在默认情况下都是可见的)。 您可以将javascript代码添加到:
代码语言:javascript
复制
- `themes/[your-theme]/product.js` file (_preferred_) - it will be loaded only on the product page,
- `themes/[your-theme]/js/autoload/[any-file-name].js` - it will be loaded on all pages.

请务必添加无buggy代码:)

完成了!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34515385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档