Один мой старый клиент обратился с просьбой сделать на его Joomla-сайте схему проезда к офису фирмы. Сайт работал на Joomla 1.5. и для вывода контактных данных юзался серьезный компонент формы обратной связи для Joomla 1.5. — aiContactSafe. Сам по себе компонент довольно мощный, он имеет массу настроек и возможностей. Можно создавать дополнительные поля, в компоненте имеется капча, в общем много плюшек для создания крутой формы обратной связи. Но задача заключалась в том, чтобы вывести на странице контактных данных карту от Яндекса, или Google, отобразить схему проезда к офису.
Принцип добавление карт обоих поисковиков по сути одинаков, посему было пофиг какую ставить, либо гугловскую, либо от Яндекса. Не помню почему, но я выбрал Яндекс.
Описывать подробно работу и настройку aiContactSafe не буду. Во-первых, там все интуитивно понятно, во-вторых, задача показать именно настройку карт.
Итак, вставить просто в редкатор aiContactSafe код Яндекс или Гугл карт — нельзя. Вернее можно, но он нихрена не работает. Может и есть стандартные решения, но лично я не нашел такой возможности, у меня не получилось вставить тупо в редактор код и подгружать карту с Яндекса.
Я вышел из этого положения путем публикации карт в произвольно-созданный PHP-модуль. После чего, через плагин Modules Anywhere, который выводит модуль в контенте — я вывел его на странице профайла aiContactSafe.
Скачать все необходимые модули и компонент aiContactSafe можно будет в конце поста.
Погнали. Последовательность действий:
1. Ставишь на Joomla всё необходимое:
- Mod PHP — в данный модуль можно вставить любой PHP-код и вывести в нужном месте сайта
- Modules Anywhere — плагин, который позволяет вывести любой модуль прямо в теле статьи (материала)
- aiContactSafe — компонент формы обратной связи для Joomla 1.5.
2. Создаешь и настраиваешь карту Google или Яндекса по этим ссылкам:
http://api.yandex.ru/maps/tools/constructor/
http://maps.google.com/?hl=ru
3. Создаешь произвольный PHP-модуль в админке с такими настройками:
5. Идешь в любую статью на сайте (нужно для того, чтобы получить код для вставки модуля, т.к. непосредственно на странице редактирования профиля в aiContactSafe это сделать не получится), в любом месте статьи жмешь кнопку плагина Modules Anywhere (кнопка находится под визуальным редактором Joomla и называется Insert Module).
6. В открывшемся окне выбираешь настройку Modules Anywhere — Wrapped by Divs (xhtml) и кликаешь на созданный ранее php-модуль с кодом карты.
7. В теле статьи, появится код, типа такого — {module Название модуля с картами|xhtml}.
8. Копируешь данный код {module Название модуля с картами|xhtml} и вставляешь его в нужное место, в редакторе компонента aiContactSafe.
7. Сохрани, обнови страницу с контактной формой и получай зачётную карту от Гугла, или Яндекса в нужном месте!
Пробуй, все работает на 100%. Пример не покажу по понятным причинам, сайт клиентский и палить его не буду.
И обещанные пряники: