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

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

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

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

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

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

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

任何建议将不胜感激。

在此先感谢Roshan

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.