我已根据以下帖子创建了一个新的送货模块
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;
}
}
?>
答案 0 :(得分:0)
我已经设法修复它,我没有意识到方法数据引用数据需要一个。在代码中,检查控制器上的validate函数指出了引用数据中的'code'应该是'freeusergroup.freeusergroup'
代码的第一部分取自method_data,