预铺1.6
我创建了一个模块,将表单添加到产品页面。我使用预prestashop模块生成器创建了一个基本的基本模块。除了通过钩子将表单添加到产品页面之外,它什么也不做。
我使用的是默认引导主题。
表单是通过一个.tpl文件生成的,该文件基于产品所在的类别(即,如果它在类别A中,则显示表单A)。该表格如下:
<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,特别是这个函数:
add : function(idProduct, idCombination, addedFromProductPage, callerElement, quantity, whishlist)传递数据以便保存/检索数据的最佳方法是什么?
最终,我希望它包含在订单中(很明显),并与该订单一起保存到数据库中,以便将来使用。
我知道插件属性向导Pro存在-但我希望扩大我的知识,并在我自己的一些东西。
如果有其他方法来做这件事,那会更干净/更容易,我也愿意接受这些建议。
发布于 2016-01-13 20:06:43
您可以创建一个全新的解决方案,但它需要很长的时间和许多代码行。
最好的选择是使用Prestashop内置产品定制选项。
Product Edit > Customization选项卡。Text fields编号,您可以认为这是一个产品的最大值。

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代码:)
完成了!
https://stackoverflow.com/questions/34515385
复制相似问题