Prestashop 1.6:如何在提交管理表单后加载不同的模板?

Prestashop 1.6: how to load a different template after an admin form submission?

我是 Prestashop 的新手,目前正在研究 1.6 中的自定义管理模块。

我的方案是,用户可以将订单加载到这个 module/admin 控制器,他们可以从列表中 select 使用 'Select All' 复选框 select 或者.

然后将这些 selected 订单 ID 提交回管理控制器,以显示在不同的模板上,并在表单中包含完整信息。 然后此表单将再次提交给第三方 API 以供进一步处理。

现在我的问题是我可以将订单列表发送到我的管理控制器并将它们提交回同一个控制器。但是我不知道如何切换到不同的模板以在表格中显示。

以及如何在第二次表单替换完成后调用不同的方法来处理和导出。

如有任何建议,我们将不胜感激。

提前致谢 肉山

在您的 AdminController 中扩展方法 initContent,条件是您需要检查是否按下了某个按钮。像

public function initContent()
{
    if (Tools::isSubmit('the_button')) {
        'do what you want to do'
    }
    parent::initContent();
}

如果您想重定向到不同的控制器,请使用 Tools::redirectAdmin() 并设置重定向路径,如 Context::getContext()->link->getAdminLink('your_another_controller', true), 你也可以用方法的第三个参数发送所有必要的数据(array)

public function initContent()
{
    if (Tools::isSubmit('the_button')) {
        Tools::redirectAdmin(
            Context::getContext()->link->getAdminLink('your_another_controller', true, $orders)
        );
    }
    parent::initContent();
}

您可以根据需要在方法内部使用任意多的条件,因此我希望它能对您的所有情况有所帮助。