我在 CS-cart 4 中创建了一个自定义 smarty 代码块。这个块包含表单并将显示在每个页面上。现在我应该使用什么动作 url 以及如何捕获发布的变量。现在我正在使用
<form method="post" action="{""|fn_url}">
但提交后它会将我重定向到 404 页面。
我在 CS-cart 4 中创建了一个自定义 smarty 代码块。这个块包含表单并将显示在每个页面上。现在我应该使用什么动作 url 以及如何捕获发布的变量。现在我正在使用
<form method="post" action="{""|fn_url}">
但提交后它会将我重定向到 404 页面。
每个表单的主要参数是“调度”。
<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>
调度是路由器。
当您提交此表单时,CS-Cart 将尝试查找名称为“your_controller.php”的控制器(app/controllers/ frontend / your_controller.php)
在这个控制器中,你可以做你需要的一切。例如
<?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");
}
}