【问题标题】:How to process form in cs-cart 4如何在 cs-cart 4 中处理表单
【发布时间】:2014-04-22 12:00:43
【问题描述】:

我在 CS-cart 4 中创建了一个自定义 smarty 代码块。这个块包含表单并将显示在每个页面上。现在我应该使用什么动作 url 以及如何捕获发布的变量。 现在我正在使用

<form method="post" action="{""|fn_url}">

但提交后它会将我重定向到 404 页面。

【问题讨论】:

    标签: cs-cart


    【解决方案1】:

    每个表单的主要参数是“dispatch”。

    <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");
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多