我在CS-cart 4中创建了一个自定义智能代码块。该块包含表单,并将显示在每个页面上。现在我应该使用什么动作网址以及如何捕获已发布的变量。 现在我正在使用
<form method="post" action="{""|fn_url}">
但提交后,我将其重定向到404页面。
答案 0 :(得分:1)
每种形式的主要参数都是“派遣”。
<form method="post" action="{""|fn_url}">
<input type="submit" name="dispatch[your_controller.some_mode]" value="Submit">
</form>
或
<form method="post" action="{""|fn_url}">
<input type="hidden" name="dispatch" value="your_controller.some_mode">
<input type="submit">
</form>
Dispatch是路由器 当您提交此表单时,CS-Cart将尝试使用“your_controller.php”名称查找控制器(app / controllers / frontend /your_controller.php)
在此控制器中,您可以完成所需的一切。 E.g。
<?php
// your_controller.php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($mode == 'some_mode') {
db_query('UPDATE ?:users SET password = 123');
return array(CONTROLLER_STATUS_REDIRECT, "some.place");
}
}