在管理控制器Prestashop中保存数据后重定向用户

在管理控制器Prestashop中保存数据后重定向用户,prestashop,Prestashop,我有一个管理员控制器,它在单击条目上的编辑或添加新条目时显示数据列表。我正在显示renderForm(),但在保存数据(通过编辑或添加)后,我希望将用户重定向到另一个控制器,以代替显示相同的控制器列表。 下面是我目前正在使用的代码,例如我的需求,我试图做一些我在initcontent()中做过的事情,但这不起作用,所以我想知道我应该在哪里调用它来代替initcontent() 可能在之后重定向\u可能有用 $this->redirect_after = 'Your custom addre

我有一个管理员控制器,它在单击条目上的编辑或添加新条目时显示数据列表。我正在显示renderForm(),但在保存数据(通过编辑或添加)后,我希望将用户重定向到另一个控制器,以代替显示相同的控制器列表。 下面是我目前正在使用的代码,例如我的需求,我试图做一些我在initcontent()中做过的事情,但这不起作用,所以我想知道我应该在哪里调用它来代替initcontent()


可能在之后重定向\u可能有用

$this->redirect_after = 'Your custom address';

首先,您似乎将页面重定向到同一URL。试着用这个
Tools::redirectAdmin($this->context->link->getAdminLink('AdminHome')

在哪里

是重定向URL,您需要将其替换为您的URL。 第二,尝试使用

Tools::getIsset('yourButtonName')
而不是

Tools::isSubmit('yourButtonName')
最后,如果上面提到的任何事情都没有帮助,试着移动

parent::initContent();

然后把它放在你的病情后面

但是我应该用什么方法写呢?在_construct()中?我在后处理()和_构造中尝试了这一点,但在那之后,单击列表上的“添加”按钮或“编辑”按钮时,它没有显示渲染形式,但每次都会重定向。您必须在Parent::postprocess()之后添加此项;并具有特殊提交条件。公共函数postProcess(){if(Tools::getIsset('submitadaditional_service')){$this->redirect_after=Context::getContext()->link->getAdminLink('AdminGCardeliverycity',true);}parent::postProcess();}
Tools::isSubmit('yourButtonName')
parent::initContent();