在 PS_CONFIGURATION 中初始化常量变量

Initialize a constant variable in PS_CONFIGURATION

事实上,我的问题面临着关于 prestashop 功能的误解,特别是由于很差 解释文档。事实上,最终的想法是创建一个在前端可见的手风琴,并通过后台的表单提供所有必要的参数。

我查阅了getting started文档,成功了,我的问题是关于tablePS_CONFIGURATION的变量。要使用文档中的示例,变量 MY_MODULENAME 何时初始化?我想通过表单的输入来放置一个变量,但是当我通过在名称中指示每个变量的名称在显示表单方法中输入它们时,我有一个返回未定义的错误。我被告知变量在安装期间初始化,但在定期卸载/重新安装我的模块后,没有任何变化,所以我将所有变量放在 install()getContent ()方法.

所以我的问题是:主要在哪一部分class初始化了所有需要的变量(我已经知道一定要用! Configuration::updateValue()),以便稍后在表单中使用它们并使用 smarty ?

将它们转录到 tpl 文件中

我不确定我是否理解你的问题,但也许这会对你有所帮助。

getContent() 函数中生成在后台显示的内容。这是您构建表单以显示和获取选项的地方。

当提交表单时,类似这样的东西应该可以保存变量

if (Tools::isSubmit($this->name)) {
    // process the submitted data 
}

install() 函数主要用于注册挂钩和创建数据库,与 uninstall() 相反,后者应该删除该数据以进行干净卸载。

在前端,你依赖于钩子,直到钩子被调用,你定义的任何变量都不会出现在模板中,所以如果你看到一个未定义的通知,那么你可能正在尝试访问该变量但是仍未分配。

如果您要为您的网站或特定客户构建模块并且您不想依赖挂钩,您可以在 header 挂钩中分配变量,然后您应该能够然后在 tpls 的任何部分使用。

如果你想构建一个商业模块,那么你必须依赖hooks。

希望对您有所帮助!