需要Opencart运输方式

时间:2014-11-27 09:53:08

标签: php opencart shipping

我已根据以下帖子创建了一个新的送货模块

http://forum.opencart.com/viewtopic.php?f=142&t=30226

运送方法检查用户所在的成员组,以及他们是否有资格根据购物车价格免费送货。所有工作都很棒,除非你去结账并选择免费送货方式,它会带回错误"警告:需要运输方法!"

运费模型如下:有人可以对此有所了解吗?

<?php
class ModelShippingFreeusergroup extends Model {
    function getQuote($address) {
        $this->language->load('shipping/freeusergroup');

        $customer_group_id = $this->customer->getCustomerGroupId();
        if ($customer_group_id < 1)$customer_group_id = 1;

        $cart_total = $this->cart->getTotal();

        $strQuery = "SELECT * FROM " . DB_PREFIX . "members_delivery " . 
            " WHERE price <= '" . $cart_total . "' AND customer_group_id = '" . $customer_group_id . "' " . 
            " LIMIT 1";
        $query = $this->db->query($strQuery);

        //$ShipArray = array();
        $method_data = array();
        if ($query->num_rows > 0)
        {
            foreach ($query->rows as $result) {
                $quote_data['freeusergroup'] = array(
                    'code'          => 'freeusergroup',
                    'title'         =>  'Free Delivery',
                    'cost'          =>  0.00,
                    'tax_class_id'  => $this->config->get('weight_tax_class_id'),//0,
                    'text'          => $this->currency->format(0.00)
                );

                $method_data = array(
                    'code'          => 'freeusergroup',
                    'title'         => 'Free Delivery',
                    'quote'         => $quote_data,
                    'sort_order'    => $this->config->get('freeusergroup_sort_order'),
                    'error'         => false
                );
            }
        }
        return $method_data;

    }
}
?>

1 个答案:

答案 0 :(得分:0)

我已经设法修复它,我没有意识到方法数据引用数据需要一个。在代码中,检查控制器上的validate函数指出了引用数据中的'code'应该是'freeusergroup.freeusergroup'

代码的第一部分取自method_data,