[Помогите] Вывести geo ip в карточке товара

Тема в разделе "OpenCart", создана пользователем cotto51rus, 7 фев 2018.

  1. cotto51rus

    cotto51rus

    Регистрация:
    3 янв 2016
    Сообщения:
    232
    Симпатии:
    8
    Стоит модуль geo ip показывает вверху сайта, прописан в хеддере.

    В карточке товара прописан текст Доставка: по России - 180 рублей, в страны СНГ - 250 рублей
    Хотелось бы вывести название города, который определился у посетителя сайта вместо надписи "По России" как в скриншоте
    Пыталась вручную в карточке товара добавить <?php echo $geoip; ?>, но ничего не выводит

    Скриншот здесь.. https://yadi.sk/i/D3LhIco83SADEj

    /Opencart 1.5.6.4, шаблон 3dtemplate
     
  2. Master2KAZ

    Master2KAZ

    Регистрация:
    25 окт 2014
    Сообщения:
    183
    Симпатии:
    72
    Адрес сайта? Текст как прописан?? В виде модуля, статьи или прямо в шаблоне?
     
    mr.zefer и cotto51rus нравится это.
  3. cotto51rus

    cotto51rus

    Регистрация:
    3 янв 2016
    Сообщения:
    232
    Симпатии:
    8
    loress.ru. В карточке товара текст прописан вручную в product.tpl
     
  4. Master2KAZ

    Master2KAZ

    Регистрация:
    25 окт 2014
    Сообщения:
    183
    Симпатии:
    72
    Если модуль не закодирован, надо посмотреть код модели модуля GeoIP. Найти функцию, которая определяет город, затем в контроллере product.php вызвать эту функцию и присвоить полученное значение переменной. И уж потом эту переменную использовать в шаблоне. Это в общих чертах, а подробнее - нужно видеть код.
    --- Добавлено, 7 фев 2018 ---
    В файле catalog/controller/product/product.php допустим перед
    PHP:
    $this->document->setTitle($this->language->get('text_error'));
    допишите
    PHP:
    if (empty($this->session->data['shipping_city'])) {
       
    $this->data['your_city'] = 'по России';
    } else {
       
    $this->data['your_city'] = 'по городу ' $this->session->data['shipping_city'];
    }
    Затем уже в product.tpl в тексте используйте переменную $your_city
     
    Последнее редактирование: 7 фев 2018
    mr.zefer и cotto51rus нравится это.
  5. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    На странице продажи модуля есть FAQ, в котором всё описано!


    Не надо! Вся информация есть в FAQ и всё там предусмотрено.
     
    cotto51rus нравится это.
  6. cotto51rus

    cotto51rus

    Регистрация:
    3 янв 2016
    Сообщения:
    232
    Симпатии:
    8
    для отображения в товаре нет информации
    --- Добавлено, 7 фев 2018 ---
    не получилось, все выше прописала, в карту товара добавила код, но не отобразилось все равно
     
  7. Master2KAZ

    Master2KAZ

    Регистрация:
    25 окт 2014
    Сообщения:
    183
    Симпатии:
    72
    Вот из ФАКа по модулю. Как получить инфу в контроллере
    PHP:
    $geoip $this->registry->get('geoip');

    // Название страны
    $country $geoip->getCountryName();

    // Название региона
    $zone $geoip->getZoneName();

    // Название города или населенного пункта с районом (Дмитровский р-н, г. Дмитров)
    $city $geoip->getCityName();

    // Название города
    $short_city $geoip->getShortCityName();

    // Индекс
    $postcode $geoip->getPostcode();
     
    mr.zefer и cotto51rus нравится это.
  8. cotto51rus

    cotto51rus

    Регистрация:
    3 янв 2016
    Сообщения:
    232
    Симпатии:
    8
    мне это прописывать в контроллере продукт? правильно поняла?
     
  9. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Чем товар в данном случае отличается от категории или любой другой страницы? Там сказано, как получить информацию в контроллере, а контроллер при этом может быть любой.

    Только не забудьте, что после получения информации в контроллере, её ещё надо передать в шаблон.
     
  10. cotto51rus

    cotto51rus

    Регистрация:
    3 янв 2016
    Сообщения:
    232
    Симпатии:
    8
    Я Вас поняла, попробую, спасибо