Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

stebgo

Користувачі
  
  • Публікації

    93
  • З нами

  • Відвідування

Усі публікації користувача stebgo

  1. здравствуйте. установил базу maxmind_geo_country (в базе все таблицы у меня без префикса) в настройках модуля пробовал все три пункта, но что то не определяет страну автоматически, в чем может быть проблема?
  2. Все проблема решена, оказалось что при импорте в базу значений тарифы сохранились в varchar с пробелом, перезалил в int и заработало всеми способами которыми я пытался получить значения
  3. я понимаю что можно сделать как обычный запрос mysql думаю что есть какие-то свои особенности подключения к базе, ну ладно, спасибо за помощь, хотя бы в плане размещения кода на форуме
  4. Здравствуйте, помогите пожалуйста написать правильный запрос к базе данных. дорабатываю под свои нужды модуль доставки от веса, сделал расчет себестоимости и скидку 20% на доставку от прибыли, но возникла проблема с тарифами на доставку, геозоны для каждой страны делать слишком долго и слишком много настроек. по этому создал таблицу в базе с нужными мне тарифами, но не могу написать правильный запрос к бд. вот что у меня есть код модуля <?php class ModelShippingWeight extends Model { public function getQuote($address) { $this->load->language('shipping/weight'); $quote_data = array(); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "geo_zone ORDER BY name"); foreach ($query->rows as $result) { if ($this->config->get('weight_' . $result['geo_zone_id'] . '_status')) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$result['geo_zone_id'] . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')"); if ($query->num_rows) { $status = true; } else { $status = false; } } else { $status = false; } if ($status) { $cost = ''; $weight = $this->cart->getWeight(); $cart_total = $this->cart->getTotal(); $rates = explode(',', $this->config->get('weight_' . $result['geo_zone_id'] . '_rate')); foreach ($rates as $rate) { $data = explode(':', $rate); if ($data[0] >= $weight) { if (isset($data[1])) { //$cost = $data[1]; $cost =$data[1] -($cart_total-$weight/1000*14)*0.2; //$cost=$address['country_id']; if($cost<0){$cost=0;} } break; } } if ((string)$cost != '') { $quote_data['weight_' . $result['geo_zone_id']] = array( 'code' => 'weight.weight_' . $result['geo_zone_id'], 'title' => $result['name'] . ' (' . $this->language->get('text_weight') . ' ' . $this->weight->format($weight, $this->config->get('config_weight_class_id')) . ')', 'cost' => $cost, 'tax_class_id' => $this->config->get('weight_tax_class_id'), 'text' => $this->currency->format($this->tax->calculate($cost, $this->config->get('weight_tax_class_id'), $this->config->get('config_tax'))) ); } } } $method_data = array(); if ($quote_data) { $method_data = array( 'code' => 'weight', 'title' => $this->language->get('text_title'), 'quote' => $quote_data, 'sort_order' => $this->config->get('weight_sort_order'), 'error' => false ); } return $method_data; } } ?> в строке 34 расчет стоимости доставки, в последствии $data[1] я заменю на стоимость полученную на основе данных из бд. данные нужно получить из таблицы бд "country22" на основании A - id страны (получаю $address['country_id'] ;) столбцы C,D,E (тарифы) хотелось бы получить в виде массива Z[1]; Z[2]; Z[3]; или ткните меня в раздел форума где описан принцип формирования запроса к бд в опенкарт, гугл и поиск по форуму что то не помогли.
  5. та же проблема, может подскажет кто решение с выводом ссылки на оплату в истории заказов? (ocStore 1.5.4.1)
  6. Здравствуйте. подскажите пожалуйста как переделать ссылки в ocstore_v1.5.4.1 вида /index.php?route=account/login в /login ? нашел кое что на офф сайте опен карт, но применять пока не хочу так затрагивает изменения файлов, которые уже изменены для внедрения сео про.
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.