通过 Php 启用/禁用 Prestashop 8 模块未反映在管理中

问题描述 投票:0回答:0

我正在开发一个 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 中激活的示例:

在此先感谢您的帮助!

php prestashop prestashop-1.7 php-8 prestashop-modules
© www.soinside.com 2019 - 2024. All rights reserved.