Документация по модулю Yandex Maps DLE


Общая информация о модуле

Модуль Yandex Maps DLE предназначен для вывода в полной новости блока с Яндекс.Картой и точкой на ней, координаты и зум которой хранятся в дополнительном поле новости, а так же вывода, отфильтрованного по параметрам, JSON-массива с информацией о координатах точек с привязкой этих точек к соответсвующим новостям, для последующего размещения на Яндекс.Карте.

Требования к системе


Версия DLE: 10.X и выше

Поддерживаемая кодировка: UTF-8

Версия php: 5.4 и выше

Наличие ionCube Loader: да

Модуль имеет привязку к домену. Можно использовать его на разных поддоменах и разных доменных зонах одного домена. Так же Вы можете использовать модуль на localhost без активации лицензии.

Автор не гарантирует работу модуля, если требования к системе не соответствую минимальным.


Ключевые особенности Yandex Maps DLE

  • Лёгкая настройка модуля. Редактирование настроек модуля сделано максимально удобно и дружелюбно для пользователя, всё, что можно было визуализировать - визуализировано.
  • Гибкий вывод данных на карту. На карту можно выводить допполя, заголовок, категорию, краткую и полную новости. Поддерживаются конструкции с получением картинок из новости и обрезкой текста.
  • Визуальное добавление и редактирование меток с сайта и из админки. Метки в новостях удобно редактируются простым перетаскиванием на карте. Добавление и редактирование меток работает как на сайте, так и в админпанели. Для возможности редактирования в админпанели необходимы минимальные правки файлов движка (вставка одной строки кода).
  • Вывод всех меток на одну карту. В модуле реализована возможность гибкого вывода всех меток в виде JSON-массива, который удобно использовать самостоятельно. Получение массива с метками реализовано на AJAX. (простейший пример вывода описан в документации).
  • Мультиязычная админка. Административный раздел модуля переведён на Русский, Английский и Украинсткий языки.

Установка модуля

Внимание!
Все файлы модуля имеют кодировку UTF-8. Если ваш сайт работает в кодировке windows-1251 — его нормальная работа скорее всего будет невозможна.
Если всё же модуль требуется установить - можете воспользоваться конвертером кодировки DLE.
  1. Распаковать содержимое папки upload из архива в корень сайта. Имейте ввиду, что необходимо предварительно переименовать папку upload/templates/Default в соответствии с именем вашего шаблона сайта.
  2. Запустить установщик по адресу ваш_сайт/ymaps_install.php и следовать инструкциям.
  3. По окончании установки произвести настройку согласно инструкциям ниже.

Обновление модуля

  1. Распаковать содержимое папки upload из архива в корень сайта с перезаписью существующих файлов.
  2. Перейти в админку модуля и настроить необходимые параметры.

Настройка модуля

Все настройки описаны для шаблона Default. Не забывайте при копировании кода заменить название шаблона на свой.

Добавление новостей с сайта

Вывести карту при добавлении новости можно двумя способами:

  1. В модальном окне

    Для вывода визуального добавления метки на карту в форму добавления новости с сайта в модальном окне необходимо:

    1. Открыть файл /templates/Default/main.tpl.
      Дописать рядом с выводом подключения CSS файлов строку: Этот файл отвечает за стилизацию кнопки показа модального окна с картой и самого модального окна.
    2. Открыть /templates/Default/addnews.tpl и в самое начало прописать:
    3. В нужном месте файла вставить:
      Если использование карты разрешено во всех категориях — необходимо удалить класс btn-addmap у кнопки, иначе она будет скрываться при изменении категории.

  2. Непосредственно в форме добавления новости

    Для вывода визуального добавления метки на карту в форму добавления новости с сайта непосредственно в форме необходимо:

    1. Открыть файл /templates/Default/main.tpl.
      Дописать рядом с выводом подключения CSS файлов строку: Этот файл отвечает за стилизацию кнопки показа модального окна с картой и самого модального окна.
    2. Открыть /templates/Default/addnews.tpl и в самое начало прописать:

Скрипт, относящийся к работе формы добавления точки на карту при добавлении новости с сайта: /templates/Default//ymaps/ymaps.js


Быстрое редактирование с сайта

Для вывода визуального редактирования метки при быстром редактировании новости с сайта необходимо:

  1. Открыть файл /templates/Default/main.tpl.
    Дописать рядом с выводом подключения JS файлов строку:

Таким образом иметь возможность визуального редактирования метки будут только пользователеи групп 1, 2 и 3. Вы можете изменить эти цифры на своё усмотрение.


Добавление и редактирование новостей из админки

Для вывода визуального добавления и редактирования метки в админке необходимо:
  1. Открыть файл /engine/inc/addnews.php.
    Найти: Следующей строкой вставить:
  2. Открыть файл /engine/inc/editnews.php.
    Найти: ВЫШЕ вставить:

Вывод карты в полной новости

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

где: id={news-id} — id новости, из которой необходимо вывести карту. Этот параметр является обязательным.

Так же у модуля есть дополнительные параметры подключения:

Переменная Значение по умолчанию и пример использования Описание
template ymaps/default
&template=ymaps/simple
Имя (путь относительно текущего шаблона сайта) шаблона вывода без расширения.

В комплекте с модулем поставляется два шаблона вывода карты:

  1. Шаблон по умолчанию выводит карту в модальном окне. Преимущество данного способа вывода в том, что карта создаётся в момент её вызова, за счёт этого ускоряется загрузка страницы.
  2. Шаблон simple выводит карту непосредственно на странице.
Скрипт, отвечающий за вывод карты находится в файле Default/ymaps/ymaps_public.js
fields false
&fields=title,short_story
Поля, добавляемые в запрос на вывод контента из новости.

Для вывода дополнительных данных необходимо прописать нужные поля через запятую.

Допустимые к использованию поля:
  • title — заголовок новости
  • short_story — краткое содержание новости
  • full_story — полное содержание новости

Вывод всех меток на карту

Так как вариантов вывода меток может быть очень много, было решено сделать универсальный вывод — в виде json-массива. А так же предоставить возможность безопасного управления фильтрацией выводимых новостей.

Внимание! Данные для показа балуне метки при выводе всех меток необходимо формировать самостоятельно.

Так же для ускорения загрузки сайта рекомендуется вызывать все метки через AJAX (пример вывода смотрите ниже).

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

Код ниже наглядно демонстрирует пример вывода всех меток на карту через AJAX:

Особенностью работы мини-модуля является то, что параметры вызова (аналог строки подключения) передаются в него не напрямую, а через шаблон. Это обеспечивает безопасность передаваемых данных и уменьшает нагрузку на хостинг. При этом необходимо соблюдать следующий синтаксис:

  1. Параметры необходимо писать по одному в строке.
  2. Имя параметра и его значение необходимо разделять знаком равенства.

Параметры, используемые для фильтрации вывода всех меток:

Параметр Значение по умолчанию и пример использования Описание
startFrom 0
startFrom = 15
С какой новости начинать отбор.
limit 1000
limit = 150
Максимальное количество выводимых точек.
postId false
postId = 1,2,3-50
ID конкретных новостей (можно использовать диапазоны или this, тогда будет выводиться просматриваемая новость)
notPostId false
notPostId = 0
ID исключаемых новостей (можно использовать диапазоны или this, тогда просматриваемая новость будет игнорироваться)
catId false
catId = 1-5,15,45
ID категорий для вывода (можно использовать диапазоны или this, тогда будет выводиться просматриваемая категория)
subcats false
subcats = yes
Обрабатывать подкатегории выводимых категорий. Если определить переменную, то в вывод будут включены и подкатегории указанных категорий.
notCatId false
notCatId = 1-8
ID исключаемых категорий (можно использовать диапазоны или this, тогда просматриваемая категория будет игнорироваться)
notSubcats false
notSubcats = yes
Обрабатывать подкатегории исключаемых категорий. Если определить переменную, то из вывода будут исключены и подкатегории игнорируемых категорий.
type json
type = json
Тип возвращаемых данных. Пока только json т.к. это наиболее правильный вариант

Теги шаблонов

Теги шаблона вывода карты в полной новости:

Название тега Описание
{id} Выводит ID новости.
{key} Выводит ключ, полученный от яндекса (актуально только для коммерческих лицензий Яндекс.карт).
{scripts} Выводит все необходимые скрипты для отображения карты в модальном окне.
{script_yandex} Выводит скрипт библиотеки яндкс.карт.
{script_popup} Выводит скрипт попап окна. В модуле используется jQuery.MagnificPopup.
{script_module} Выводит скрипт ymaps_public.js из папки шаблона модуля.
{lon} и {lat} Выводят координаты точки на карте.
{zoom} Выводит значение зума карты.
{controls} Выводит информацию об элементах управления картой.
{baloon} Устаревший тег. В версиях до 1.4 выводил содержимое балуна метки.
{placemarkStyle} Данные о стилизации метки.
{mapHeight} Высота карты из настроек модуля.
{title},
{title limit="x"}
Заголовок новости. limit="x" — урезанный до x символов, заголовок новости.
Выведется только по требованию (если в строке подключения указать &fields=title).
{short_story},
{short_story limit="x"}
Краткое содержание новости. limit="x" — урезанное до x символов, краткое содержание новости без HTML форматирования и картинок.
Выведется только по требованию (если в строке подключения указать &fields=short_story).
{full_story},
{full_story limit="x"}
Полное содержание новости. limit="x" — урезанное до x символов, полное содержание новости без HTML форматирования и картинок.
Выведется только по требованию (если в строке подключения указать &fields=full_story).
[xfvalue_x] [xfvalue_x limit="y"] Значение дополнительного поля x. limit="y" — урезанное до y символов, значение дополнительного поля x.
[xfgiven_x]текст[/xfgiven_x] Выводится текст, если допполе x не пустое
[xfnotgiven_x]текст[/xfnotgiven_x] Выводится текст, если допполе x пустое
{image-x} URL картинки x из краткой новости.
[image-x]текст[/image-x] Выводится текст, если картинка x присутствует в краткой новости.
{fullimage-x} URL картинки x из полной новости.
[fullimage-x]текст[/fullimage-x] Выводится текст, если картинка x присутствует в полной новости.

Если требуется добавление новых тегов — жду ваших предложений по координатам, указанным в контактной информации к модулю при покупке.


Скриншоты модуля

Админка модуля, главная страница.
Админка модуля, главная страница.
Админка модуля, главная страница с телефона.
Админка модуля, главная страница с телефона.
Админка модуля, редактирование зума и метки по умолчанию.
Админка модуля, редактирование зума и метки по умолчанию.
Админка модуля, английская версия с планшета.
Админка модуля, английская версия с планшета.
Админка модуля, редактирование стилей меток.
Админка модуля, редактирование стилей меток.
Админка модуля, редактирование стиля метки по умолчанию.
Админка модуля, редактирование стиля метки по умолчанию.
Админка модуля, варианты стилей метки.
Админка модуля, варианты стилей метки.
Админка модуля, установка собственной иконки для метки.
Админка модуля, установка собственной иконки для метки.
Пример отображения всех меток на карте в шапке сайта.
Пример отображения всех меток на карте в шапке сайта.
Кнопка показа карты в полной новости.
Кнопка показа карты в полной новости.
Отображение карты в модальном окне.
Отображение карты в модальном окне.
Вывод допполей в балуне геообъекта (метки).
Вывод допполей в балуне геообъекта (метки).
Вывод карты в полной новости без модального окна.
Вывод карты в полной новости без модального окна.
Отображение собственной иконки для метки на карте в полной новости.
Отображение собственной иконки для метки на карте в полной новости.
Кнопка добавления метки в форме добавления новости с сайта.
Кнопка добавления метки в форме добавления новости с сайта.
Модальное окно с визуальным добавлением метки на карту в форме добавления новости с сайта.
Модальное окно с визуальным добавлением метки на карту в форме добавления новости с сайта.
Кнопка редактирования метки при быстром редактировании с сайта
Кнопка редактирования метки при быстром редактировании с сайта
Редактирование метки при быстром редактировании новости с сайта.
Редактирование метки при быстром редактировании новости с сайта.
Удаление метки при быстром редактировании новости с сайта.
Удаление метки при быстром редактировании новости с сайта.
Кнопка добавления метки при добавлении новости из админки.
Кнопка добавления метки при добавлении новости из админки.
Модальное окно с визуальным редактированием метки при добавлении и редактировании новости в админке.
Модальное окно с визуальным редактированием метки при добавлении и редактировании новости в админке.
Кнопка редактирования метки при редактировании новости в админке.
Кнопка редактирования метки при редактировании новости в админке.