Prestashop产品定制 - 保存到购物车

时间:2015-12-29 16:50:21

标签: javascript php ajax prestashop

Prestashop 1.6

我创建了一个模板,可以在产品页面中添加表单。我使用prestashop模块生成器来创建一个基本的裸机模块。除了通过挂钩向产品页面添加表单外,它不会执行任何操作。

我使用的是default-bootstrap主题。

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

library(qdapDictionaries)
is.word  <- function(x) x %in% GradyAugmented
is.word(c("hello world"))
## [1] FALSE
is.word(c("hello", "world"))
## [1] TRUE TRUE
is.word(c("asfasdf"))
## [1] FALSE

表单是一系列无线电输入,后跟3个文本输入。如果用户更改数量,则通过javascript相应地添加另外3个输入(因此,如果用户将数量更改为“2”,则会显示2组3个输入以便在每个产品上进行自定义。)

我希望在用户点击“添加到购物车”时保存这些输入和用户输入的信息,以便稍后检索/编辑(在用户结帐之前)。

一些研究让我得到了ajax-cart.js和这个功能:

<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>

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

最终我希望将它包含在订单中(显然)并保存到数据库中以便将来使用。

我知道插件属性向导专业版存在 - 但我希望扩展我的知识并自己创作。

如果还有其他方法可以更清洁/更容易,我也会接受这些建议。

1 个答案:

答案 0 :(得分:1)

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

最佳选择是使用Prestashop内置产品自定义选项。

  1. 转到后台并选择一个Product Edit&gt; Customization标签。
  2. 添加Text fields个数字,您认为这个数字可能是一个产品的最大数量。
  3. Product Customization tab

    1. 在您的产品页面中添加一些javascript隐藏/显示这些文本字段输入(因为它们在默认情况下都可见)。

      您可以将javascript代码添加到:

      • themes/[your-theme]/product.js文件(首选) - 它只会在产品页面上加载,
      • themes/[your-theme]/js/autoload/[any-file-name].js - 它将被加载到所有页面上。

      请务必添加免费代码:)

    2. 完成!

相关问题