-1

我试图通过 Opencart 2 中的管理员手动插入订单,所以这些订单中的大多数都没有电子邮件地址,所以我需要通过管理员在插入订单中填写不需要的电子邮件

但它在 Opencart 2 中有点复杂

我在添加功能中看到以下代码

if ($this->validate()) {
        // API
        $this->load->model('user/api');

    $api_info = `$this->model_user_api->getApi($this->config->get('config_api_id'));`

    if ($api_info) {
        $curl = curl_init();

        // Set SSL if required
        if (substr(HTTPS_CATALOG, 0, 5) == 'https') {
            curl_setopt($curl, CURLOPT_PORT, 443);
        }

        curl_setopt($curl, CURLOPT_HEADER, false);
        curl_setopt($curl, CURLINFO_HEADER_OUT, true);
        curl_setopt($curl, CURLOPT_USERAGENT, $this->request->server['HTTP_USER_AGENT']);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_FORBID_REUSE, false);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_URL, HTTPS_CATALOG . 'index.php?route=api/login');
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($api_info));

        $json = curl_exec($curl);

        if (!$json) {
            $this->error['warning'] = sprintf($this->language->get('error_curl'), curl_error($curl), curl_errno($curl));
        } else {
            $response = json_decode($json, true);

            var_dump($response);

            if (isset($response['cookie'])) {
                $this->session->data['cookie'] = $response['cookie'];
            }

            curl_close($curl);
        }
    }

在销售/订单控制器上,插入上述代码以外的订单时,我没有找到任何特定的表单验证。

有人可以告诉我在哪里可以找到 opencart 2 中的表单验证部分吗?

4

1 回答 1

1

OpenCart 2.0 使用目录端 API,这就是上面的代码所指的(它通过 cURL 调用它)。您可以/catalog/controller/api/在相关.php文件中找到它,在您的情况下是order.php. 这包括验证以及调用模型文件的代码

于 2015-01-21T18:21:45.770 回答