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

[Поддержка] CityManager (Определение города по IP, Geo IP)


Recommended Posts

  В 13.04.2017 в 08:29, progroman сказав:

Ну вы же сами дописываете город в title, добавьте условие: если бот ПС, то город Москва (например), иначе город брать из GeoIP.

Expand  

Не подскажите как это сделать? Для геосообщений это тоже актуально.

 

Надіслати
Поділитися на інших сайтах


Подскажите, пожалуйста, как проверять есть ли геосообщения для этого города или нет

 

вот так я вывожу геосообщение: 

<?php echo $geoip_terms_pickpoint; ?>

Это работает.

 

а вот так решил сделать проверку и выводить разные сообщения в зависимости от наличия геосообщения
 

<?php if (!empty($geoip_terms_pickpoint)) { ?>  
такой город есть
<?php } else { ?> 
города нет  
<?php } ?>

 

Не работает. Всегда выводит "такой город есть"

 

Змінено користувачем angelzzz
Надіслати
Поділитися на інших сайтах


Должно работать, проверьте, что у вас в $geoip_terms_pickpoint - var_dump($geoip_terms_pickpoint); когда "города нет".

Еще можете текст по-умолчанию сделать "города нет", будет выводиться, когда геосообщение не определено.

Надіслати
Поділитися на інших сайтах

  В 18.04.2017 в 13:05, pro1d сказав:

Не подскажите как это сделать? Для геосообщений это тоже актуально.

Expand  

 

Например, так http://xdan.ru/how-to-detect-on-php-if-a-page-is-visited-by-a-search-bot.html

Надіслати
Поділитися на інших сайтах

  В 19.04.2017 в 12:41, progroman сказав:

Должно работать, проверьте, что у вас в $geoip_terms_pickpoint - var_dump($geoip_terms_pickpoint); когда "города нет".

Еще можете текст по-умолчанию сделать "города нет", будет выводиться, когда геосообщение не определено.

Expand  

var_dump($geoip_terms_pickpoint) - string(75) ""

 

Суть в том, что я в зависимости от наличия геосообщения для этого города вывожу блок текста, которого нет в геосообщении. Просто я не вижу смысла для каждого города где есть ПВЗ добавлять еще и однотипные геосообщения "есть ПВЗ", я просто хочу, чтобы когда в геоосообщении для этого города есть цена, добавлять текст "есть ПВЗ, цена такая-то, Вы можете сделать то-то и то-то"

 

 

Надіслати
Поділитися на інших сайтах


  В 19.04.2017 в 15:21, angelzzz сказав:

var_dump($geoip_terms_pickpoint) - string(75) ""

Expand  

 

Тогда не понятно, почему не выполняется !empty() и пишет "города нет". Вроде бы все верно.

<?php if (!empty($geoip_terms_pickpoint)) { ?>  
такой город есть
<?php } else { ?> 
города нет  
<?php } ?>
Надіслати
Поділитися на інших сайтах

Добрый день! Подскажите, пожалуйста, в чем ошибка? Стоит модуль СДЭКа и Ваш. Автокомплит работает, все определяется верно, но в СДЭК не отдается регион и получается так:

Вводим Кировск Ленинградской области - ПВЗ правильный.

http://prntscr.com/etjfcr

Вводим Кировск Мурманской области - ПВЗ все равно Ленинградской области, хотя там вообще их нет..

http://prntscr.com/etjh00

Работа со СДЭКом настроена по faq

Спасибо за помощь!

Надіслати
Поділитися на інших сайтах


  В 19.04.2017 в 15:30, progroman сказав:

 

Тогда не понятно, почему не выполняется !empty() и пишет "города нет". Вроде бы все верно.

<?php if (!empty($geoip_terms_pickpoint)) { ?>  
такой город есть
<?php } else { ?> 
города нет  
<?php } ?>
Expand  

 

Вообще-то наоборот всегда выводит "такой город есть"

Надіслати
Поділитися на інших сайтах


Тогда все правильно в этой переменной же что-то есть - строка 75 символов:

string(75) ""

Надіслати
Поділитися на інших сайтах

  В 20.04.2017 в 13:20, astra1973 сказав:

Добрый день! Подскажите, пожалуйста, в чем ошибка? Стоит модуль СДЭКа и Ваш. Автокомплит работает, все определяется верно, но в СДЭК не отдается регион и получается так:

Вводим Кировск Ленинградской области - ПВЗ правильный.

http://prntscr.com/etjfcr

Вводим Кировск Мурманской области - ПВЗ все равно Ленинградской области, хотя там вообще их нет..

http://prntscr.com/etjh00

Работа со СДЭКом настроена по faq

Спасибо за помощь!

Expand  

Попробуйте поле региона вывести, и посмотреть, как с ним будет работать.

 

А вообще, вы же город не в модуле GeoIP меняете, а в Симпле или что там у вас.

Надіслати
Поділитися на інших сайтах

  В 20.04.2017 в 14:32, progroman сказав:

Тогда все правильно в этой переменной же что-то есть - строка 75 символов:

string(75) ""

Expand  

так в этом и был вопрос, почему там что-то есть если я туда ничего не вписывал.

 

в product.php

$geoip = $this->registry->get('geoip');
$this->data['city'] = $geoip->getShortCityName(); 
$this->data['geoip_terms_pickpoint'] = $geoip->getRule('terms_pickpoint');
$this->data['geoip_price_pickpoint'] = $geoip->getRule('price_pickpoint');

в product.tpl 

<p> До пункта выдачи: <?php echo $geoip_price_pickpoint; ?> <?php echo $geoip_terms_pickpoint; ?> </p>

<!--для теста-->
<?php if (!empty($geoip_terms_pickpoint)) { ?>  
такой город есть
<?php } else { ?> 
города нет  
<?php } ?>
<!--для теста-->

то есть геосообщение всегда содержит данные? Как можно проверить имеется ли геосообщение? Моя задача проверить есть ли для этого города геосообщение geoip_terms_pickpoint, и в зависимости от этого выводить данные

 

У меня сейчас текст "такой город есть" выводится и для городов у которых есть геосообщение и для тех у которых его нет

Змінено користувачем angelzzz
Надіслати
Поділитися на інших сайтах


А в настройках модуля стоит "использовать ajax"? Если да, попробуйте убрать.

Надіслати
Поділитися на інших сайтах

  В 22.04.2017 в 19:52, progroman сказав:

А в настройках модуля стоит "использовать ajax"? Если да, попробуйте убрать.

Expand  

Вот так все заработало. Спасибо!

Змінено користувачем angelzzz
Надіслати
Поділитися на інших сайтах


Здравствуйте.

1.5.5.1.2

версия модуля 5.2

Подскажите,

1. как поправить код, что бы список городов формировался не по горизонтали, а по вертикали? И как при этом предусмотреть настройку количество столбцов (или количества строк в столбце)?

 

3c306d536f.png

 

2. как (при реализации первого вопроса) автоматически добавить (увеличить) междустрочный интервал между алфавитными блоками?

 

 

01ced9b614.png

Змінено користувачем globaltrading
Надіслати
Поділитися на інших сайтах


Работает, не раз ставил на шаблон unishop.

Надіслати
Поділитися на інших сайтах

через геосообщения пхппеременную не вывести ??? 

 

такая вот задачка.

два языка как бы... выводятся крупные сообщения... и если с html всё нормально, то пхп вырезается, хотя в бд исправно сохраняется 

 

сейчас на пятой версии... 

в шестой как обстановка ? 

Надіслати
Поділитися на інших сайтах

Нет только на OC 2.

Надіслати
Поділитися на інших сайтах

  В 01.05.2017 в 15:07, vayboy сказав:

через геосообщения пхппеременную не вывести ??? 

 

такая вот задачка.

два языка как бы... выводятся крупные сообщения... и если с html всё нормально, то пхп вырезается, хотя в бд исправно сохраняется 

 

сейчас на пятой версии... 

в шестой как обстановка ? 

Expand  

 

Переменные вывести не получится. Т.к. геосообщение выводится как текст, а не выполняется как PHP-код.

Надіслати
Поділитися на інших сайтах

 

  В 03.05.2017 в 14:07, progroman сказав:

 

Переменные вывести не получится. Т.к. геосообщение выводится как текст, а не выполняется как PHP-код.

Expand  

 

Учтите, пожалуйста, что опенкарт поддерживает мультиязычность.

Мошт и не многим надо, но кому надо приходится костыли городить.

 

Поделюсь своим решением на тему мультиязыка (у меня два, опенкарт 2102), которое не трогает модуль, но даёт возможность выводить разноязычные мессаги.

Повторю, что я на пятой версии, к шестой может не покатить - в теме обсуждалась тема пустоты ключей. моё решение основано на том, что ключи пусты, когда пользователь из региона, для которого значения ключей не присвоены.

 

К сожалению, я не php программер. так что буду рад замечаниям и правкам от более развитых в теме людей.

 

 

В настройках мода задаются два ключа

key

key_en

 

Добавляем в нужный контроллер определение key/key_en + определение кода языка у пользователя

$geoip = $this->registry->get('geoip'); // подключение geoip модуля
$data['language'] = $this->config->get('config_language'); // получение кода языка юзера в переменную language 
$data['geoip_delivery_mini'] = $geoip->getRule('key'); // получаем значение ключа key из настроек geoip
$data['geoip_delivery_mini_en'] = $geoip->getRule('delivery_mini_en'); // получаем значение ключа key_en из настроек geoip

В нужном шаблоне делаем вывод нужных значений ключей

<?php if (empty($geoip_key)) { // у меня язык по умолчанию русский и 100% для русского будет задан ключ
echo $text_gen_delivery_info; // здесь у меня выводится инфа, которая выводится если нет регионально определённых ключей (править её значение для каждого языка я могу через языковые файлы под каждый язык, поэтому не акцентирую на ней внимание, возможность задания значения ключа по умолчанию меня не устраивает опять же по причине мультиязычности)
} else { // если ключи не пусты, т.е. задан какой-то региональный ключ
if ($language == "ru") { // и язык пользователя русский
echo $geoip_key; // вывожу значение русскоязычного ключа под регион
} else {echo $geoip_key_en;};}; ?> //вывожу значение англоязычного ключа под регион (если у вас больше языков, то нужно создать больше условий вывода)

Повторюсь, что я не программер и буду рад замечаниям

 

 

Надіслати
Поділитися на інших сайтах

Добрый день!

Установил ProgRoman - CityManager+GeoIP 6.0 на сайт https://sadovoddom.ru/. При активации пишет: "Модуль не активирован, получите лицензионный ключ у автора модуля". Прошу помощи.

Надіслати
Поділитися на інших сайтах


Запрос лицензии в личку. В выходные могу не отвечать.

Надіслати
Поділитися на інших сайтах

Как хотите. Можете поставить, но симпла может работать и с базой модуля geoip (для автодополнения города).

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

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