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


Add a new field to new shipping method in simple checkout module for Open Cart

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

我的目的是添加自定义的发货日期和时间。事实上,我是这样做的:

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.)在"catalog/controller/checkout/simplecheckout_customer.php"中:

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.)在"catalog/controller/checkout/simplecheckout.php"中:

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

4.)因此,在这些操作之后,我可以在"catalog/controller/checkout/success.php"中获得值:

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