我刚接触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的所有类和功能的完整工作流程的文件?
答案 0 :(得分:1)
改变PrestaShop的核心运作是一项艰巨的任务。对于这样的情况,您应该而且必须使用模块。
Hook.php
并找到exec()
功能。使用error_log($hook_name)
找出执行特定操作时可用的挂钩。例如,当您打开产品编辑页面时,它们可能是FormModifier
挂钩,您可以使用它来为新产品类型添加单选框。但这只是&#34;化妆品&#34;添加新类型。class/controller
。覆盖很容易,但通常不推荐。在模块文件夹中创建类/控制器文件的副本:modules/yourmodule/override/controller/admin/AdminProductCotnroller.php
并仅保留您正在覆盖的函数。此外,尝试使条件:
if ($iCanModify) { // Modify} else { return parent::method(); }