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

时间:2017-12-26 13:16:47

标签: prestashop

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

我的方案是,用户可以将订单加载到此模块/管理员控制器,然后从列表中可以使用“全选”复选框选择他们喜欢的订单。

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

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

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

非常感谢任何建议。

提前致谢 罗斯汉

1 个答案:

答案 0 :(得分:0)

在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', ()),您也可以使用方法(数组)的第三个参数发送所有必要的数据

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

您可以根据需要在方法内使用尽可能多的条件,因此我希望它可以帮助您解决所有问题。