Бесплатный плагин Maps адаптирован для работы с Alto CMS 1.0 и выше


По многочисленным просьбам трудящихся выполнена адаптация плагина «Maps — Карты для типов контента». Теперь этот плагин работает без проблем с Alto CMS версии 1.0 и выше.

Причем, шаблоны вывода карт с метками были доработаны, и теперь, при необходимости, легко можно сделать вывод нескольких меток на одной карте. Например, когда выводится несколько топиков с геометками. Кому интересно — подробности под катом. Для отображения карты вызывается соответствующий шаблон:
templates/skin/default/fields/customs/maps/google/show.tpl — для карт Гугл
templates/skin/default/fields/customs/maps/yandex/show.tpl — для карт Яндекса

Подключение шаблона сейчас выполняется так:
<!-- тип карты: Яндекс/Гугл -->
{$sMapType=Config::Get('plugin.maps.map_type')} 
<!-- центр карты по умолчанию -->
{$aMapDefaultCenter=F::Array_Str2Array(Config::Get('plugin.maps.map_center'))}
<!-- Надпись над картой -->
{$sMapLabel=$oField->getFieldName()}

<!-- формируем массив меток -->
{$aPlace.coord=$oField->getCoord($oTopic->getField($oField->getFieldId()))}
{$aPlace.title=$oTopic->getTitle()|escape:'html'}
{$aMapPlaces[]=$aPlace}

<!-- Подключаем шаблон вывода карты -->
{include file="./maps/$sMapType/show.tpl" aMapPlaces=$aMapPlaces}
Как можно заметить, в шаблон вывода карты передается массив меток, который нужно расставить на карте. Массив передается в таком виде:
array(
    array('coord' => ..., 'title' => ...)
    array('coord' => ..., 'title' => ...)
    array('coord' => ..., 'title' => ...)
)
Т.е. если в каком-то экшене, виджите или еще каком компоненте сформировать такой массив, а потом вызвать шаблон вывода карты, передав туда такой массив, то все эти метки будут отображены на карте.

Для желающих что-то улучшить, углубить и уширить в плане функционала, плагин на гитхабе: https://github.com/altocms/alto-plugin-maps

Похожие статьи

  • Плагин Sitemap — обновление
    Плагин Sitemap был обновлен, и в каталог выложены две его новых версии: 1.0.3 и 1.1.2. Первая версия предназначена для работы на сайтах под Alto CMS 1.0.+ (и на более ранних), а вторая — для Alto CMS версии 1.1....
  • АПИ ЯндексТабло
    Сегодня обратил внимание, что Альто таки не забыл про интеграцию с сервисом ЯндексТабло: Что весьма приятно... Но тут же возник вопрос: А на сколько сложно интегрировать в виджет трекер и уведомления о почте для ...
  • Доработка плагина «Карты в топиках/статьях»
    Всем привет. Есть замечательный плагин «Карты в топиках/статьях» https://altocms.ru/addons/item/106/. Все в нем замечательно, но хотелось бы кое-что доработать: 1. Сделать вывод карты со всеми метками; 2. При клике...
  • Модуль «Карты в топиках/статьях » — вывод всех меток на одной карте
    Всем привет! Есть вот такой замечательный модуль https://altocms.ru/addons/item/106/. И все в нем прекрасно, но вот вывод всех меток на одну карту в нем отсутствует. Может быть кто-то уже вникал в данный вопрос и...

26 комментариев

0
Спасибо! К сожалению, на 1.1 не работает, даже не включается
Отредактирован:
0
включился, после переименования из «alto-plugin-maps» в «maps». В FAQ этой информации нет.
0
1. Если плагин был включен после создания статьи (справедливо для всех существующих статей), то ниже фотосета (там где должна быть карта и комментарии) ничего не выводится. Комментарии тоже пропадают

2. Если после включения плагина, отредактировать статью, но не поставить метку, то будет выводиться пустое место там, где должна быть карта. Не логичнее ли ее прятать?
0
А если метка была установлена в пост, при отключении плагина вываливается ошибка:

Exception: Unable to load template file 'fields/customs/field.custom.map-show.tpl' in 'topics/topic.type_default-show.tpl'
0
Версия плагина последняя, 1.1.3?
0
Да
+1
Попробуйте сейчас скачать с гитхаба: github.com/altocms/alto-plugin-maps/archive/master.zip
И дайте знать, если проблема с выводом решилась — если карта не задана, то топики без карты отображаются, как обычно, а где задана — показывается карта
0
Да, сейчас все в порядке. Статья без карты отображается корректно. Но вот при отключении плагина, если у статьи была карта, по-прежнему вылазит ошибка:

Exception: Unable to load template file 'fields/customs/field.custom.map-show.tpl' in 'topics/topic.type_default-show.tpl'


upd. А нет, не только у статей с картами. При отключении плагина, ошибка у всех статей (при попытке открыть для просмотра и для редактирования тоже)

Не знаю, поможет или нет, но вот ошибка в логе:

Exception: Unable to load template file 'fields/customs/field.custom.map-edit.tpl' in 'topics/topic.type_default-edit.tpl'
Templates stack:
topics/topic.type_default-edit.tpl (/var/www/vinznsk/data/www/postandtravel.com/common/templates/skin/experience-simple/tpls/topics/topic.type_default-edit.tpl)
topics/topic.edit.tpl (/var/www/vinznsk/data/www/postandtravel.com/common/templates/skin/experience-simple/tpls/topics/topic.edit.tpl)
actions/content/action.content.add.tpl (/var/www/vinznsk/data/www/postandtravel.com/common/templates/skin/experience-simple/tpls/actions/content/action.content.add.tpl)
2015-04-30 11:23:12
Exception: Unable to load template file 'fields/customs/field.custom.map-show.tpl' in 'topics/topic.type_default-show.tpl'
Templates stack:
topics/topic.type_default-show.tpl (/var/www/vinznsk/data/www/postandtravel.com/common/templates/skin/experience-simple/tpls/topics/topic.type_default-show.tpl)
topics/topic.show.tpl (/var/www/vinznsk/data/www/postandtravel.com/common/templates/skin/experience-simple/tpls/topics/topic.show.tpl)
actions/blog/action.blog.topic.tpl (/var/www/vinznsk/data/www/postandtravel.com/common/templates/skin/experience-simple/tpls/actions/blog/action.blog.topic.tpl)
Отредактирован:
+1
Надо ДО отключения плагина в админке удалить доп.поле «карта» из тех типов контента, где она была добавлена.
0
Ок, с этим понятно.

Кстати, воспроизвел ошибку с пустой картой.

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

+1
Исправлено. Плагин обновлен на гитхабе и в каталоге
0
как к этому плагину прикрутить Place Autocomplete geocode, что бы определялся город по координатам?
0
Наверное, мало город определять, надо с найденным городом что-то еще делать — куда-то его сохранять, например.
0
да надо чтобы в таблице сохранялись помимо координат локация с Библиотеки Адресов Google.
Отредактирован:
0
мммм не совсем понял вопроса, если речь идет о гугловсвом автоподстановщике тогда просто нужно в скрипте инициализации карты его включить и все :) если речь про что то другое тогда просьба уточнить что именно имелось ввиду.
0
Поставил в конфиге «yandex», задаю координаты центра карты 61.789521,34.357137 Выводит море западнее африки, пробовал наоборот задавать координаты 34.357137,61.789521 — тоже примерно там же в африке… Кеш системы и браузера сбрасывал. Что за хрень люди?
0
Вернул в конфиг «google» и 61.789521,34.357137 — нормально выводит карту, место соответствует координатам. Народ кто знает что не так с яндексом? Или подскажите где я туплю:)
0
насколько я помню у яндекса все было наоборот нежели чем у гугла, но раз вы меняли местами координаты тогда сложно сказать почему вас в другое место отпрвавляет яндекс.
0
Почему именно меня яндекс в другое место отправляет? Наверняка он всех туда отправляет:) Вполне возможно что с яндексом никто и не проверял работу плагина. Если есть рабочий пример с яндексом — напишите координаты, дайте ссылку на топик… Тогда я буду разбираться где я накосячил. Только как можно накосячить в перестановке последовательности координат непонятно:)
+3
common/plugins/maps/templates/skin/default/fields/customs/maps/yandex/edit.tpl

Там вместо {json var=Config::Get('plugin.maps.map_center')} надо {json var=$aMapDefaultCenter}

Скрипты Я.Карт не понимают, когда координаты одной строкой передаются, им нужно обязательно массивом. А Гуглы переваривают без проблем
0
Спасибо огромное, сделал как Вы указали, все отлично! Яндекс меня больше в другое место не отправляет:)
0
Как в этот плагин вставить Places search box с сохранением локации в таблице?
0
Глянул навскидку — как-то очень уж замороченно вставляется эта штука:
developers.google.com/maps/documentation/javascript/examples/places-searchbox?hl=ru

Разбираться надо, вникать…
0
Подскажите, пожалуйста, а как можно сделать одну глобальную карту где-нибудь в меню, чтобы можно было туда маркеры всех статей вывести?
0
Такое есть пока только под LS
catalog.livestreetcms.com/addon/view/486/
catalog.livestreetcms.com/addon/view/392/
Думаю под альто тоже очень бы пригодился подобный плагин.
0
Направление, куда двигаться для этого разработчику, я прямо в этой статье и дал:
Т.е. если в каком-то экшене, виджите или еще каком компоненте сформировать такой массив, а потом вызвать шаблон вывода карты, передав туда такой массив, то все эти метки будут отображены на карте.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.