Я создал новый модуль доставки на основе сообщения ниже
http://forum.opencart.com/viewtopic.php?f=142&т = 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;
}
}
?>
Мне удалось это исправить, я не понимал, что данные о кавычках данных метода требуют a. в коде проверка функции validate на контроллере указала на тот факт, что «код» в данных кавычек должен быть «freeusergroup.freeusergroup»
Первая часть кода взята из method_data,
Других решений пока нет …