спасибо, точно. как-то не обратил внимание. что у меня сейчас все в статусе Завершен, а показываются те что в статусе Аннулирован. при чем эти заказы как раз от тех, кто зарегистрировался.
понял в чем суть в admin/model/extension/dashboard/map.php Код: if (is_array($this->config->get('config_complete_status'))) { foreach ($this->config->get('config_complete_status') as $order_status_id) { $implode[] = (int)$order_status_id; у меня в настройках к "завершенным заказам" относятся несколько статусов: "Завершен", "Возмещен", … "Аннулирован" и хотя Аннулирован имеет id=16, но начинается с буквы А - то в базе в параметре 'config_complete_status' он стоит первым! Код: config_complete_status ["16","8","11","5","7","9","17","10","14"] судя по логике указанного выше кода: - проверяется, что config_complete_status это действительно массив - запускается цикл, который должен преобразовать символьные переменные массива config_complete_status в массив целых чисел $implode после чего из базы делается выборка заказов по статусам из $implode Код: WHERE o.order_status_id IN('" . (int)implode(',', $implode) . "') по ходу получается выборка только по первому элементу массива $implode!!!! и вот тут мне уже непонятна логика: ЗАЧЕМ в запросе в базу данных стоит (int)implode ???????? вроде как $implode и так уже массив целых чисел, зачем его еще раз делать "челым числом"? помогите разобраться в этой логике! прочитал описание функции implode — Объединяет элементы массива в строку т.е. вот эта конструкция Код: (int)implode(',', $implode) а) implode делает из массива целых чисел $implode строку через запятую б) а потом эта строка превращается в целое число бред какой-то вообще получается?
да вообще непонятно ЗАЧЕМ разработчики в OpenCart 3.x мудрили с этими преобразованиями в целые числа, если в запросе к базе надо передавать строку со значениями через запятую! после нескольких проб и ошибок типа "неправильное преобразование массива в строку" нашел рабочий вариант. добавил Код: $config_complete_status_string = implode(',', $this->config->get('config_complete_status')); а в запросе к базе данных заменил на: Код: WHERE o.order_status_id IN ($config_complete_status_string) и все заработало как и задумывалось! теперь на карте отображаются заказы, статус которых отнесен к "Завершенным" в настройках магазина. P.S. смотрю разработчики уже поправили этот косячок на GitHub https://github.com/opencart/opencart/commit/c66d34534c28490509a80de38e20b567681ccd41
Приветствую, спецы! Поставил карту на OcStore 3, все работает безупречно, только вот карта показывает заказы с Волгоградской области, в то время как они из Москвы. Подскажите, в чем может быть проблема?
Тема то старая. Может что изменилось в идентификаторах стран. Да и расширение проверялось на опенкарт, а не на оксторе.
Понимаю, что тема уже старая, но все же актуальная на сей день. Во-первых, хочу поблагодарить за мод, работает отлично, но есть некоторые косяки, которые хотелось бы убрать. Регион "Москва и Московская обл" на карте отображает и учитывает только Москву. Как исправить, чтобы учитывал заказы и Москов обл.? Аналогичная ситуация и с СПБ - Лен.обл.. Использую OcStore 2.3, шаблон стандарт.
В карте Москва и Мос область это одна область Код: "mow": { "path": "m146.07,234.16,3.5714,0.26785,2.3214-0.89285,1.4286-0.44643,0.53571,0.625,0.0893,1.7857,0,1.1607-0.17857,1.3393,1.5178,0.89286,2.9464,0.44643,1.7857,0.89285,2.0536,0.89286,2.7678,0.89286,1.7857,0.26786,1.25,0.53571,0.26786,1.6071-0.0893,1.5179-0.44643,1.6964-1.5179,0.625-2.1428,1.1607-1.6072,1.3393-0.0893,1.25-0.625,1.7857-1.1607,1.5179-0.35714,1.6071,0.17857,1.6072,0.0893,0.89285,1.1607,1.0714,1.0714,0.625,1.1607-1.0714,0.625,0.44643,0,1.5179-0.0893,3.2143-0.44643,1.1607-1.3393-0.44643-1.875-0.17857-1.6072,0.17857-0.80357,0.89286-2.0536,0.0893-1.6071-0.35714-1.25-0.71429-1.0714-1.1607-1.6071-0.625-1.6964,0-0.44643,0.80357-0.17857,1.1607-1.0714,0.53571-1.4286,0.0893-0.80357-0.80358-0.17858-0.625,1.1607-2.4107,0.26786-1.9643-0.53572-1.6964-1.1607-1.5179-1.1607-1.5179-1.0714-0.89286,0.625-1.25,2.5-2.9464,1.1607-2.6786-0.71429-1.7857-1.6071-1.6071-1.6071-0.98215-0.53572-0.35714-0.625-1.875-0.80357-1.25-0.80357-0.80357,0.625-1.5179,2.5893-1.3393z", "name": "Москва и Московская область" }, А в опенкарте для москвы указан код MOW , а для области MOS Поэтому или в скрипте карты, меняем добавляем область или пробуем изменить в админке.
В скрипте данный код и стоит, но он учитывает заказы только из Москвы, а остальные 4 заказа из Московской области не видит.