Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

SFR

Новичок
  
  • Posts

    21
  • Joined

  • Last visited

Recent Profile Visitors

1,911 profile views

SFR's Achievements

Rookie

Rookie (2/14)

  • First Post
  • Collaborator
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

2

Reputation

  1. В 2.0.12 неточность в файле simplegeo.php первый найгденный if (!isset($geo)) { заменить на if (!$geo) { тк если $geo false, то getGeoIpByMaxMind() не отрабатывает.Отгдельное спасипотому что за changelog!
  2. deeman, А можно ггде-то вести changelog версий? Модуль хороший, обновляться надо. Но перед каждым обновлением вынужгдены смотреть diff, перед заливкой на production. По поводу версии 2.0.11: то что добавлено: class ModelToolSimpleGeo extends Model { static $checked = false; и изменения в метогде getGeoIpBySimpleOpenCart() сильно отличаются от предложенного способа по эффективнсоти.Пример первого запроса (когда страна еещё не выбрана) В вашем случае: QUERY1!QUERY2!GEOIP!QUERY2!GEOIP! В предложенном случае: QUERY1!QUERY2!GEOIP! (запросы выполняются не потому чтолее 1 раза и попадают в кэш ситической переменной функции)Можете рассивить флаги и проверить. Нам вообещём-то не трудно добавлять свой кусок при каждом обновлении модуля, но когда можно сгделать "легче" для всех - почему бы не попропотому чтовать этого добиться. lewys, Скачайте файл в приложении, знойте на сервер и запустите его напрямую в бразуере (domain.com/test.php). test.php
  3. Спасипотому что за интересное решение. Правда подходит разве что как временный костыль.Используются модули автоматического рассчеи разных спосопотому чтов досивки в страны, и править все модули добавляя trim() не гдело, к тому же неизвестно как этот костыль вспоследствии внезапно всплывет)
  4. lewys, замените файл catalog/model/tool/simplegeo.php тем что в приложении. дное как уже выше сказано, в админке модуля 3 вкладка, настройки полей страна - посивить галочку "использовать опрегделение по IP". и у вас на сервере/хостинге должен быть включен mod_geoip. Это уже к админам/хостерам. simplegeo.php
  5. А, вот оно что, чекпотому чтоксы эти пропустил ;) У нас международные досивки. Выкладываю опрегделение страны по GeoIP, думаю еещё кому-то пригодится. Вообещём-то если вклюлить в официальный код, модуль ик бугдет потому чтолее универсальным. Как видно может рилиить автовыпотому чтором с двумя гео ф-циями: - apache_note - через apache mod_geoip, если он усиновлен. - geoip_record_by_name - это php расширение geoip, если включено. файл catalog/model/tool/simplegeo.php: public function getGeoIp() { static $geo=false; // false, чтобы не null; if (is_array($geo) || is_null($geo)) return $geo; // null отдает $this->cache->get(); если кэша нет; if (!$geo = $this->getGeoIpBySimpleOpenCart()) { $ip = isset($this->request->server['HTTP_X_FORWARDED_FOR']) && $this->request->server['HTTP_X_FORWARDED_FOR'] ? $this->request->server['HTTP_X_FORWARDED_FOR'] : 0; $ip = $ip ? $ip : $this->request->server['REMOTE_ADDR']; if (function_exists('apache_note') && $code = apache_note('GEOIP_COUNTRY_CODE')) { if ($country_id = $this->getCountryIdbyISO($code)) { $geo = array( 'country_id' => $country_id, 'zone_id' => '', 'city' => '', 'postcode' => '', ); } } else if (function_exists('geoip_record_by_name') && $code = geoip_record_by_name($ip)) { if ($country_id = $this->getCountryIdbyISO($code['country_code'])) { $geo = array( 'country_id' => $country_id, 'zone_id' => '', 'city' => '', 'postcode' => '', ); } } } return $geo; } private function getCountryIdbyISO ($iso) { if (!is_string($iso) && strlen($iso) != 2) return false; // RU $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "country WHERE iso_code_2 = '" . $iso . "' AND status = '1'"); if ($query->row) { return $query->row['country_id']; } else return false; } P.S. Из пожеланий для будущих версий, раз модуль икой "user-friendly", возможно ли сгделать сортировку стран, чтобы была возможность задать в списке стран самыми первыми страны СНГ, врогде: <option value="176" style="famous">Россия</option> <option value="220" style="famous">******а</option> <option value="20" style="famous">Белоруссия</option> <option value="13">Австралия</option> <option value="14">Австрия</option> <option value="15">Азербайджан</option Кроме как лезть править движок - не знаю каким обвместе реализовать, а модуль я ик понимаю как раз все фильтрует и по-своему выводит, задавая свои правила.
  6. Отличный модуль, очень сильный функционал. Проблема. Сейчас мучаюсь с Гео, подключаю опрегделение стран на основе mixmind geoip. Проблема в файле simplecheckout_customer.php. Строка: if (!empty($fields_settings['init_geoip']) && $geo = $this->model_tool_simplegeo->getGeoIp()) { возвращает false, конкретно первое условие не выполняется.То есть $fields_settings['init_geoip'] не суещёствует. Хотя $this->model_tool_simplegeo->getGeoIp() отдает нужный массив. Пока заменил на: if ($geo = $this->model_tool_simplegeo->getGeoIp()) { Вопрос откуда берется $fields_settings['init_geoip'] и при каких условиях оно может не суещёствовать? (у меня не суещёствует этот записи в массиве $fields_settings)И в копилку хорошего модуля непотому чтольшая оптимизация. Вот эи строчка: if (!empty($fields_settings['init_geoip']) && $geo = $this->model_tool_simplegeo->getGeoIp()) { выполняется за одно "гдергание" скрипи много раз. Там первыми строчками в getGeoIpBySimpleOpenCart() - запросы к БД есть.Поэтому в simplegeo.php (метод getGeoIp()) есть смысл добавить ситическую переменную. Всего 2 строчки вначно ф-ции избавляют от лишних запросов к БД: public function getGeoIp() { static $geo=false; // изначально false, чтобы не null; if (is_array($geo) || is_null($geo)) return $geo; // null отдает $this->cache->get(); если кэша нет; [...]
  7. Поскольку модуль "Поли России" - единственный на данный момент, а по EMS есть другие модули, можете Почту России отгделить в отгдельный проект? И ксити если используете github - то можно дополнительно и туда выложить его, тогда желающие могли бы дополнять и исправлять модуль, постоянно его улучшая.
  8. Обновлен: Сегодня, 22:38 simple 2.0.10 Changelog в чем? Пора бы завести файл CHANGELOG.txt
  9. Этот модуль (ксити бесплатный) может икое гделать (речь игдет о создании скидки для оптовиков). Customer Group Discounts Можно задать discount/наэтонку как для группы, ик и для опрегделенной категории товаров. У меня рилииет как торговая наэтонка для Обычных покупателей и скидка для Оптовиков(группа пользователей) Правда усиновка непросия (редактирование файлов движка), но из всех подобных погделок с редактированием файлов - думаю эи штука самая довегденная.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.