在预售中添加产品类型添加产品页面


Adding product type in prestashop add product page

我是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表的新列is_digital中.iam 在这里罢工。请帮忙。是否有任何文档可以说明prestashop的所有类和功能的完整工作流程?

改变PrestaShop的核心工作原理是一项艰巨的任务。对于此类情况,您应该并且必须使用模块。

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