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

Zeon

Новачок
  
  • Публікації

    1
  • З нами

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

Повідомлення, опубліковані користувачем Zeon

  1. Для OpenCart 2.3.x нужно сделать следующее:

    1. Записать в /admin/view/javascript/jquery/jqvmap/maps/  файл с картой страны, например Украины - ukraine.js(можно взять из этого модуля или сделать самому).
    2. Привести в соответствие коды регионов, а именно: открыть таблицу БД под названием "(ваш префикс_)zone" или просто "zone", если без префикса(префикс по умолчанию OC_) и выполнить запрос SELECT * FROM `oc_zone` WHERE `country_id`=220 (220 это код Украины), далее нужно посмотреть какому региону(из колонки Name) какой код соответствует (из колонки Code), точно такие же соответствия должны быть и в файле ukraine.js. Откройте его для редактирования и в коде найдите все участки типа

      "pathes" : {

      "05" : {
          "path" : "M517.4,446.91c-0.273-0.71-0.666-1.749-0.883-2.313-0.292-0.784-1.021-2.306-1.158-3.125-0.127-0.756,0.082-2.287,0.082-3...куча векторных координат.....и т.д.",
          "name" : "Вінницька область"
      },      Это значит что "Вінницька область" под кодом "05". Исправте так чтобы коды регионов были как в БД.

    3. Открыть для редактирования файл admin/view/template/extension/dashboard/map_info.tpl и исправить <script type="text/javascript" src="view/javascript/jquery/jqvmap/maps/jquery.vmap.world.js"></script>  на   <script type="text/javascript" src="view/javascript/jquery/jqvmap/maps/ukraine.js"></script> и ниже по коду  "$('#vmap').vectorMap({map: 'world_en', "    на    "$('#vmap').vectorMap({map: 'ukraine'," (вместо 'ukraine' может быть другое имя, посмотреть его нужно в файле векторной карты ukraine.js в коде 

      jQuery.fn.vectorMap(

      'addMap',
      'ukraine',)

    4. Далее в файле admin/model/report/sale.php нужно добавить функцию :

      public function getTotalOrdersByZone() {
              $query = $this->db->query("SELECT COUNT(*) AS total, SUM(o.total) AS amount, c.code FROM `" . DB_PREFIX . "order` o LEFT JOIN `" . DB_PREFIX . "zone` c ON (o.payment_zone_id = c.zone_id) WHERE o.order_status_id > '0' GROUP BY o.payment_zone_id");

              return $query->rows;
          }

    Далее в файле admin/controller/extension/dashboard/map.php  меняем код в функции map() - 

    public function map() {
            $json = array();

            $this->load->model('report/sale');

            $results = $this->model_report_sale->getTotalOrdersByCountry();

            foreach ($results as $result) {
                $json[strtolower($result['iso_code_2'])] = array(
                    'total'  => $result['total'],
                    'amount' => $this->currency->format($result['amount'], $this->config->get('config_currency'))
                );
            }

            $this->response->addHeader('Content-Type: application/json');
            $this->response->setOutput(json_encode($json));
        }

    на 

    public function map() {
            $json = array();

            $this->load->model('report/sale');

            $results = $this->model_report_sale->getTotalOrdersByZone();

            foreach ($results as $result) {
                $json[strtolower($result['code'])] = array(
                    'total'  => $result['total'],
                    'amount' => $this->currency->format($result['amount'], $this->config->get('config_currency'))
                );
            }

            $this->response->addHeader('Content-Type: application/json');
            $this->response->setOutput(json_encode($json));
        }

    На этом все.

    • +1 3
×
×
  • Створити...

Important Information

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