В заметках на своем блоге я уже рассказывал Вам о плагине Яндекс.Карт для Joomla – смотрите «Плагин Яндекс.Карт для Joomla» и «Доработка плагина Яндекс.Карт для Joomla».
В двух заметках я продолжу тему, как можно доработать данный плагин.
Мы добавим две новые возможности – это форму поиска по карте и загрузку файлов в формате YMapsML.
Нам для работы будут необходимы два файла – это plugin_yandexmap.xml и plugin_yandexmap.php
Мы их будем продолжать редактировать.
Используя ftp-клиент мы заходим на сервер Вашего сайта в папку, где установлена Joomla.
Находим там папку plugins, а в ней папку content.
В этой папке находиться два файла: plugin_yandexmap.xml и plugin_yandexmap.php.
Добавим сначала строку поиска по карте.
25 июня 2009 года вышла новая версия API Яндекс.Карт 1.1.0
В этой версии появился новый элемент управления, размещаемый на карте, YMaps.SearchControl – поиск по карте.
Его мы и будим использовать.
Открываем сначала файл plugin_yandexmap.xml в любом текстовом редакторе или Блокноте.
Находим в нем следующие строки:
Здесь прописываются элементы формы для добавления обзорной миникарты в режиме администрирования.
Joomla - Профессиональный сайт за один день |
И перед ними вставляем следующий код:
Он служит для дополнения элементов формы добавления строки поиска в режиме администрирования.
Сохраняем измененный файл.
После этого открываем файл plugin_yandexmap.php.
С начала меняем версию API.
Для этого находим строку
$doc->addScript('http://api-maps.yandex.ru/1.0/index.xml?key='.$my_params['apiKey']);
и изменяе значение версии с 1.0 на 1.1.
В результате
$doc->addScript('http://api-maps.yandex.ru/1.1/index.xml?key='.$my_params['apiKey']);
Находим в нем строки
if (intval($my_params['showMiniMap'])) {
$mmControl = 'var minimapControl = new YMaps.MiniMap();';
$mmControl .= 'map.addControl(minimapControl);';
} else {
$mmControl = '';
}
И передними добавляем следующий код:
if (intval($my_params['showSearchControl'])) {
$searchControl = 'map.addControl(new YMaps.SearchControl(), new YMaps.ControlPosition(YMaps.ControlPosition.BOTTOM_LEFT, new YMaps.Size(5, 20)));';
} else {
$searchControl = '';
}
Еще ищем строку '.$mmControl.' и перед ней добавляем строчку '.$searchControl.'
Сохраняем измененный файл.
Теперь необходимо зайти на сайт и на странице администрирования в менеджер плагинов и выбираем плагин Content - Yandex Maps.
Открываем его для редактирования.
В правой части окна, среди параметров должен появиться новый YMAP_SHOWSEARCHCONTROL и два переключателя состояния YMAP_YES и YMAP_NO.
Отмечаем состояние YMAP_YES и сохраняем изменения.
Открываем страницу с Яндекс.Картой. На карте должен появиться новый элемент управления YMaps.SearchControl.
Скачать измененные файлы: plugin_yandexmap.xml и plugin_yandexmap.php
В следующей заметке мы добавим возможность подгружать на карту файл в формате YMapsML.