将变量从smarty tpl中的表单传递给表单提交中的控制器

时间:2017-02-09 10:32:30

标签: php forms model-view-controller prestashop-1.6

我在tpl文件中有一个表单:

<form action="{$link->getModuleLink('virtual_pos', 'validation', [], true)|escape:'html'}" method="post"> 
  ... 
</form>

在提交时,我希望从表单中获取所有变量并将其传递给控制器​​&#39;验证&#39;。

我不想使用任何JS。它是商店的支付模块。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

我在另一个帖子中找到了解决方案。

创建指向控制器的链接后,您可以在空数组参数中填写所需的变量:

<form action="{$link->getModuleLink('virtual_pos', 'validation', ['id'=>$cart_id], true)|escape:'html'}" method="post">

然后在控制器中,您可以使用超级全局

获取数据
$id_from_form_submit = $GET['id'];

如果您知道其他任何选项,请告知我们。

答案 1 :(得分:0)

在你的模块中创建一个文件控制器/ front / validation.php。 你需要一个班级:

class virtual_posValidationModuleFrontController extends ModuleFrontController
{
    public function postProcess()
    {
          /* where you get the values and validate the order */
    }

    public function initContent()
    {
        parent::initContent();
        /* where you set data for a last page order confirmation */
    }
}

你已经创建了这个吗?