cityFields

Компонент реализует на сайте мультигородность без контекстов
Автор дополнения
Сергей Фещуков
Пакетов
4
Закачек
2 804
Обычно отвечает в течение нескольких дней
Автор дополнения
Пакетов
4
Закачек
2 804
Обычно отвечает в течение нескольких дней
Версия 2.0.5-pl
Дата выпуска 04.12.2023
Загрузки 1 323
Просмотры 15 034
Внимание, этот компонент требует версию PHP 7.2 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, для MODX 2 и PHP 5.5+ остаётся доступной версия компонента 1.3-pl. Она будет поддерживаться до тех пор, пока поддерживается MODX 2.

Небольшой полезный компонент имеет следующие возможности:
  1. Добавление городов в список.
  2. Определение города по домену или каталогу.
  3. Определение города по IP-адресу.
  4. Добавление уникальной информации для каждого города.
  5. Управление ценами товаров miniShop2 для каждого города.

Определение города по IP-адресу

В компоненте по умолчанию включено определение города по IP-адресу и не требуется дополнительная настройка данной возможности. Для определения города используется база SypexGeo. Найденный город по IP ищется в списке городов, добавленных в компонент, по названию и, если находится, пользователя перебрасывает на этот город.

Эта возможность отключается через системные настройки и не активна, если User Agent пользователя попадает в список исключений, в который по умолчанию включены поисковые боты популярных поисковых систем. Список исключений также редактируется в системных настройках.

Список городов и управление им

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



Для вывода списка городов с возможностью переключаться между ними достаточно просто вызвать сниппет:
[[!cfCities]]

Уникальная информация для каждого города

На той же странице находится вкладка «Данные» для управления информацией для каждого города. Для вывода уникальной информации в компоненте используются несколько методов.



Во-первых, по умолчанию включена запись полей в плейсхолдеры, которые имеют префикс. И для вывода информации достаточно добавить в ваши чанки или шаблоны необходимый плейсходер, но главное — вызвать его не кешируемым. Например, так:
[[!+cf.phone]]

Во-вторых, плейсхолдеры записываются при загрузке страницы, что может тормозить систему в некоторых случаях. Поэтому я добавил возможность отключить запись полей в плейсхолдеры. В этом случае для вывода информации для каждого города нужно вызвать сниппет cfField с нужным ключом:
[[!cfField ?&key=`phone`]]

Управление ценами товаров

Для управления ценами на странице редактирования товара добавляется новая вкладка «Город — Цена». В ней вы найдете таблицу, где сможете указывать цену товара в зависимости от города. Если для какого-то города цена не указана, то будет браться его цена по умолчанию.



Для того, чтобы цена товара в каждом городе выводилась актуальная, необходимо выводить её не кешируемой, то есть таким образом:
[[!+price]] или [[!*price]]

cityFields 2.0.5-pl / 1.3.5-pl

  • Исправлено формирование ссылки на страницу в поиске
  • Обновлена база Sypex Geo (релиз 2023.11.30)

cityFields 2.0.4-pl / 1.3.4-pl

  • Исправлены мелкие ошибки
  • Обновлена база Sypex Geo (релиз 2023.08.31)

cityFields 2.0.3-pl / 1.3.3-pl

  • Исправлено установка cookies когда отключены домены и подкаталоги
  • Исправлен редирект когда включены подкаталоги
  • Исправлен форвард когда ресурс не опубликован
  • Обновлена база Sypex Geo (релиз 2023.04.18)

cityFields 2.0.2-pl / 1.3.2-pl

  • Переписана функция определения ID текущего города
  • Исправлена геолокация
  • Исправлен выбор города, когда включена опция "Город в подкаталогах"
  • Отключен плагин в панели управления
  • Когда строка поиска пуста, возвращается список городов
  • Исправлено формирование ссылки на страницу в поиске
  • Исправлены мелкие ошибки
  • Обновлена база Sypex Geo (релиз 2023.03.31)

cityFields 2.0.1-pl / 1.3.1-pl

  • Добавлена поддержка подкаталогов
  • Добавлена поддержка полных доменов
  • Исправлена функция формирования ссылки на страницу
  • Добавлен английский язык
  • Обновлена база Sypex Geo (релиз 2023.02.28)

cityFields 2.0.0-pl / 1.3.0-pl

  • Переписаны чанки
  • Переписан код CSS
  • Переписан код JavaScript
  • Более не требуется Bootstrap 3
  • Более не требуется jQuery
  • Обновлена база Sypex Geo (релиз 2022.10.19)

cityFields 2.0.0-beta

  • Переписан под MODX 3
  • Требуется MODX 3
  • Требуется PHP 7.2 и выше

cityFields 1.2.11-pl

  • Исправлены схемы MySQL
  • Обновлена база Sypex Geo (релиз 2022.09.30)

cityFields 1.2.10-pl

  • Исправлено отображение города в таблице цен в панели управления
  • Исправлены ошибки с PHP 8
  • Обновлена база Sypex Geo (релиз 2022.02.19)

cityFields 1.2.9-pl

  • Изменено название переменной в ссылке
  • Поиск города начинается после ввода 2 символов
  • Цена продукта может быть нулевой
  • Исправлены редиректы, когда используется город в домене
  • Исправлен редирект на город по умолчанию для кириллических доменов
  • Исправлена установка города по умолчанию для доменов с www
  • Исправлено определение cookies для доменов с www
  • Обновлена база Sypex Geo (релиз 2021.10.19)

cityFields 1.2.8-pl

  • Исправлена поддержка msOptionsPrice2
  • Исправлена работа для доменов с www
  • Обновлена база Sypex Geo (релиз 2020.04.15)

cityFields 1.2.7-pl

  • Отключена геолокация для бота YandexTurbo
  • Обновлена база Sypex Geo (релиз 2020.03.31)
  • Обновлены справочники Sypex Geo (релиз 2019.12.30)

cityFields 1.2.6-pl

  • Исправлен редирект в случае указания в ссылке ключа города
  • Обновлена база Sypex Geo (релиз 2019.11.19)

cityFields 1.2.5-pl

  • Исправлено отображение значений в таблице данных в панели управления
  • Обновлена база Sypex Geo (релиз 2019.09.30)

cityFields 1.2.4-pl

  • Исправлен поиск городов из фронта сайта для кириллических доменов
  • Исправлена смена города для старого чанка
  • Обновлена база Sypex Geo (релиз 2019.06.18)

cityFields 1.2.3-pl

  • Исправлен поиск городов с сайта
  • Удалены логи из класса cfOrderHandler

cityFields 1.2.2-pl

  • Отключён любой редирект в панели управления
  • Исправлено открытие модального окна с выбором города
  • Исправлено закрытие всплывающего сообщения, когда отключена опция "Город в домене"

cityFields 1.2.1-pl

  • Обновлен алгоритм поиска городов
  • Обновлен код javascript на сайте

cityFields 1.2.0-pl

  • Новые чанки на основе bootstrap
  • Добавлена опция cityfields_frontend_css
  • Добавлен cookie cfCity
  • Добавлено изменение города по GET-запросу
  • Добавлен выбор города по-умолчанию со страницы компонента
  • Обновлена функция получения ID выбранного города
  • Обновлен установщик компонента
  • Обновлена база Sypex Geo
  • Исправлен редирект на основной домен
  • Исправлен поиск модуля php-intl в сниппете

cityFields 1.1.7-pl

  • Чанки, сниппеты и плагин более не статичны
  • Исправлен поиск модуля php-intl
  • Удалён modAction

cityFields 1.1.6-pl

  • Модуль php-intl больше не обязателен
  • Обновлена база Sypex Geo
  • Исправлен редирект после определения города по домену
  • Исправлено создание таблиц при установке

cityFields 1.1.5-pl

  • Добавлена опция отключения геолокации
  • Возможность отключить геолокацию для определенных User Agents
  • Исправлена поддержка msOptionsPrice2
  • Исправлены лексиконы в админ-панели

cityFields 1.1.4-pl

  • Поддержка кириллических доменов
  • Добавлен $limit в сниппет cfCities
  • Исправлено определение плейсхолдеров на странице 404

cityFields 1.1.3-beta

  • Добавлен $where в сниппет cfCities
  • Возможность установить разные e-mail менеджеров miniShop2
  • Поддержка pdoTools
  • Очистка спец символов при выводе данных в админ-панели
  • Данные могут быть длиннее

cityFields 1.1.2-beta

  • Исправлено перенаправление на домен

cityFields 1.1.1-beta

  • Добавлен плейсхолдер [[+cf.current_city.url]]

cityFields 1.1.0-beta

  • Поддержка города в поддоменах
  • Возможность использовать сниппет cfField как модицикатор
  • Информация о текущем городе в плейсхолдере
  • Фильтры для данных в админ-панели
  • Комбобокс для плейсхолдеров в окне обновления данных
  • Исправлена поддержка msOptionsPrice2
  • Исправлены стили на странице товара
  • Исправлены дубликаты городов и данных
  • Обновлен сниппет cfCities
  • Обновлен чанк cfCities.row
  • Обновление моделей и таблиц
  • Обновлена база sxGeo

cityFields 1.0.7-pl

  • Поддержка msOptionsPrice2

cityFields 1.0.6-pl

  • Исправлено получение цены

cityFields 1.0.5-pl

  • Исправлено получение данных

cityFields 1.0.4-pl

  • Исправлена работа с miniShop2 2.4

cityFields 1.0.3-pl

  • Добавлена геолокация по IP

cityFields 1.0.2-pl

  • Исправлены процессоры изменения цены товаров miniShop2
  • Исправлена форма на странице товара

cityFields 1.0.1-pl

  • Возможность указать город по умолчанию
  • Возможность указать путь к JS файлам
  • Возможность установить цену на товары для города (необходим miniShop2)
  • Добавлена сортировка в сниппет cfCities
  • Возможность отключить запись данных в плейсхолдеры
  • Добавлен сниппет cfField
  • Поддержка AjaxManager

cityFields 1.0.0-pl

  • Выпуск компонента.

Последние обсуждения в сообществе MODX.pro