我正在开发一个 PHP 代码,它必须根据调用激活或停用 Prestashop 8 模块。我正在使用模块的启用和禁用方法,它们正确地修改了 ps_module 表中的“activate”值。但是,当我转到 Prestashop 管理时,显示的用于启用或禁用模块的按钮与数据库中的值不匹配。事实上,只有当我直接点击管理中的“激活”或“停用”时,按钮才会改变。
所以我正在寻找一种解决方案来理解为什么在 PHP 中调用 Prestashop 的启用和禁用方法不会产生与我们直接通过管理时相同的行为。任何帮助将不胜感激。
PS:清除我的缓存并不能解决我的问题
POST请求:
{
"module_name": "demo_grid",
"type": "enable"
}
代码:
$webhookData = json_decode(file_get_contents('php://input'), true);
$type = $webhookData['type'];
$module_name = $webhookData['module_name'];
switch($type) {
case 'disable':
Module::getInstanceByName($module_name)->disable();
break;
case 'enable':
Module::getInstanceByName($module_name)->enable();
break;
}
此模块在 bdd 中激活而不是在 admin 中激活的示例:
在此先感谢您的帮助!