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

progroman

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

    1 396
  • З нами

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

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

  1. Посмотрите в catalog/model/module/geoip.php:71 в методе findCountryAndZone() нужно заменить return false; на return array();

    В общем, метод должен выглядеть так:

            public function findCountryAndZone($filter = array()) {
    
                $where = array();
                $fields = array('c.country_id', 'c.name country_name');
    
                if (!($filter && is_array($filter))) {
                    return array();
                }
    
                if (!empty($filter['iso_code_2'])) {
                    $where[] = 'c.iso_code_2 = "' . $this->db->escape(utf8_strtolower($filter['iso_code_2'])) . '"';
                }
    
                if (!empty($filter['country_id'])) {
                    $where[] = 'c.country_id = "' . $this->db->escape(utf8_strtolower($filter['country_id'])) . '"';
                }
    
                if (!empty($filter['zone_name'])) {
                    $fields[] = 'z.zone_id, z.name zone_name';
                    $where[] = 'z.name = "' . $this->db->escape(utf8_strtolower($filter['zone_name'])) . '"';
                }
    
                if (!empty($filter['zone_id'])) {
                    $fields[] = 'z.zone_id, z.name zone_name';
                    $where[] = 'z.zone_id = "' . (int)$filter['zone_id'] . '"';
                }
    
                if (!$where) {
                    return array();
                }
    
                return $this->db->query('SELECT ' . implode(', ', $fields) . ' FROM ' . DB_PREFIX . 'zone z
                                                LEFT JOIN ' . DB_PREFIX . 'country c ON z.country_id = c.country_id
                                            WHERE ' . implode(' AND ', $where))->row;
            }
    
    
  2.  

    Можно ли обновить модуль на 5.1, чтобы не слетели все настройки, которые производились напрямую в шаблонах (геосообщения, подстановка буквы г. перед городом, название города без района).

     

    Геосообщения, скорее всего, останутся, но не 100%, т.к. база городов обновилась. Остальное настраивается в коде, а он заменится при обновлении, нужно заново сделать.

  3. Везде не нужно, отмените. Если у вас через ajax выводится, то нужно только одну функцию изменить, добавить в конец getCity() этот блок:

    
        public function getCity() {
    
            // ...
    
            if (utf8_strlen($zone) > 5) {
                $zone = utf8_substr($zone, 0, 5) . '...';
            }
    
            $this->response->setOutput(json_encode(array('zone' => $zone)));
        }
    
    
×
×
  • Створити...

Important Information

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