在prestashop中添加产品类型添加产品页面

时间:2014-11-15 13:32:59

标签: php prestashop prestashop-1.6

我刚接触prestashop,除了标准产品,虚拟产品,现有产品包之外,我还尝试添加新产品类型

在informations.tpl文件中添加了这个

<
div class="radio">
                <label for="digital_product">
                    <input type="radio" name="type_product" id="digital_product" {if $is_in_pack}disabled="disabled"{/if} value="{Product::PTYPE_DIGITAL}" {if $product_type == Product::PTYPE_DIGITAL}checked="checked"{/if} >
                    {l s='Digital product (services, booking, downloadable products, etc.)'}</label>
            </div>

我想将此保存在ps_product table.iam中的新列is_digital中。请帮助。是否有任何关于prestashop的所有类和功能的完整工作流程的文件?

1 个答案:

答案 0 :(得分:1)

改变PrestaShop的核心运作是一项艰巨的任务。对于这样的情况,您应该而且必须使用模块。

  1. 转到Hook.php并找到exec()功能。使用error_log($hook_name)找出执行特定操作时可用的挂钩。例如,当您打开产品编辑页面时,它们可能是FormModifier挂钩,您可以使用它来为新产品类型添加单选框。但这只是&#34;化妆品&#34;添加新类型。
  2. 您应该创建一个用于修改PrestaShop的模块。首先,尝试查找是否有可用于修改所需内容的挂钩。如果没有,则需要覆盖实际的class/controller。覆盖很容易,但通常不推荐。在模块文件夹中创建类/控制器文件的副本:modules/yourmodule/override/controller/admin/AdminProductCotnroller.php并仅保留您正在覆盖的函数。此外,尝试使条件: if ($iCanModify) { // Modify} else { return parent::method(); }
  3. 跟踪PS文件中出现的产品类型常量,变量或字符串(Product :: TYPE_STANDARD?)。您将需要修改/添加逻辑到这些地方,以使您新的tyoe工作。