在 issubmit 之后定义页面

defining page after issubmit

我正在 Prestashop 中编写我的第一个模块。当我在后台提交数据时,它会加载我的模块的配置页面。但我想保持形式。我怎样才能做到这一点?

if (Tools::isSubmit('toggleanswers')) {
        $id_answer = Tools::getValue('id_answer');
        if($this->toggleAnswer($id_answer)) {
            $this->_html .= $this->displayConfirmation($this->l('Entry status changed'));
        }

        else {
            $this->_html .= $this->displayError(implode($this->_errors, '<br />'));
        }
}

这就是我的函数的样子。单击切换后,它不应该 return 到配置页面...我的表单的 url 如下所示: /index.php?controller=AdminModules&configure=questions&module_name=问题&id_question=1&updatequestions&token=ccd237618500f4c18f42d1a4fe971aa9

如果我明白你想要什么,你应该改变你的代码:

if (Tools::isSubmit('toggleanswers')) {
    $id_answer = Tools::getValue('id_answer');
    if($this->toggleAnswer($id_answer)) {
        Tools::redirectAdmin($this->context->link->getAdminLink('AdminModules', true).'&conf=6&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name.'&id_question='.$id_question.'&update_questions');
    } 
    else
    {
        $this->_html .= $this->displayError(implode($this->_errors, '
')); } }

如果您成功地完成了 post 流程并且一切正常,您应该使用 'question' 的默认消息状态更改的形式重定向,否则它将显示错误。