在Open Cart的简单结帐模块中为新的发货方法添加新字段

时间:2015-06-24 20:07:31

标签: php parameter-passing opencart checkout

我尝试为Open Cart配置简单的结帐模块v3.8.3,我想创建一个新的发货方法,将发货日期保存到新字段(如现有字段'comment')。 如何扩展我的文件来执行此操作?

1 个答案:

答案 0 :(得分:0)

我的目的是添加自定义送货日期和时间。 我实际上通过这种方式执行了这个案例:

1。)在' admin / view / template / module / simple.tpl'中:

<option value="date" <?php echo $field['save_to'] == 'date' ? 'selected="selected"' : '' ?>>date</option>
<option value="time" <?php echo $field['save_to'] == 'time' ? 'selected="selected"' : '' ?>>time</option>

2。)在&#39; catalog / controller / checkout / simplecheckout_customer.php&#39;中:

private function get_date_value() {
$date = $this->simple->get_total_value(Simple::SET_CHECKOUT_CUSTOMER,'date');
        $simple_show_shipping_address = $this->cart->hasShipping() ? $this->config->get('simple_show_shipping_address') : 0;

        if ($simple_show_shipping_address && $this->request->server['REQUEST_METHOD'] == 'POST' && empty($this->request->post['shipping_address_same'])) {
            $date .= ' '.$this->simple->get_total_value(Simple::SET_CHECKOUT_ADDRESS,'date');
        }

        $this->simple->date = $date;
        $this->session->data['date'] = $date;
    }

    private function get_time_value() {
        $time = $this->simple->get_total_value(Simple::SET_CHECKOUT_CUSTOMER,'time');

        $simple_show_shipping_address = $this->cart->hasShipping() ? $this->config->get('simple_show_shipping_address') : 0;

        if ($simple_show_shipping_address && $this->request->server['REQUEST_METHOD'] == 'POST' && empty($this->request->post['shipping_address_same'])) {
            $time .= ' '.$this->simple->get_total_value(Simple::SET_CHECKOUT_ADDRESS,'time');
        }

        $this->simple->time = $time;
        $this->session->data['time'] = $time;
    }

3.)在&#39; catalog / controller / checkout / simplecheckout.php&#39;中:

$data['date'] = $this->simple->date;
$data['time'] = $this->simple->time;

4。)所以在这些行动之后,我可以在&#39; catalog / controller / checkout / success.php&#39;中获取值:

$this->session->data['date']
$this->session->data['time']