Модуль интеграции Drupal 7 со сторонними сервисами

Прислано: zaraza

сб, 18/02/2012 - 21:13

Доброй ночи, друзья. Меня зовут, Анатолий. г. Вологда, компания Синапс.
Мы занимаемся созданием сайтов и другими интересными вещами.
Сайты делаем исключительно на друпале, и чаще всего это сайты корпоративных клиентов с соответствующей спецификой.
У нас есть ряд разработок, которыми хочется поделится с сообществом.

Зачем делиться:
- для себя: чтобы структурировать код и сделать таки review
- чтобы быстрее отлавливать баги
- чтобы подсказали как лучше
- чтобы друпал стал более распространен и появлялись новые решения на этой системе

Делиться будем следующими модулями:
- Модуль интеграции друпала со сторонними сервисами (в первую очередь с яндексом)
- Модуль для отображения объекта на яндекс картах
- Модуль view_yamap для интеграции предыдущего модуля с вьювсом

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

Поскольку делася для себя, то он так и называется "synapse". Но по счастливой случайности такое название прекрасно совпадает с функционалом модуля, поэтому переименовывать его не будем. Википедия нам подсказывает:
Си́напс — место контакта между двумя нейронами или между нейроном и получающей сигнал эффекторной клеткой. Служит для передачи нервного импульса между двумя клетками.

Посколку внизу длинная простыня скриншетов, чтобы не томить сразу ссылки:
- модуль synapse.zip
- проект в песочнице друпал.орг

Что делает модуль:
1. Изменяет страницу добавления материала
2. Дружит сайт с гул/яндекс вебмастером
3. Добавляет на сайт яндекс-метрику
4. Отображает яндекс-карту на странице с контактами
5. Размещает информацию о компании в формате hCard
6. Позволяет быстро добавить вконтактогруппу и магазин на еквиде
7. Менять автоматически год создания сайта в подвале

По пунктам

0. Меняет значения по умолчанию

Меняет значения по умолчанию на странице добавления типа материала (admin/structure/types/add):

  • Чистим поле "название поля заголовка", чтобы программисты не забывали поставить человечное "название альбома", вместо бездушного "Title"
  • В настройках публикации вместо галочки "на главную" ставим галочку "создавать редакции"
  • Убираем галочку "показывать автора и дату", т.к. в корпоративных сайтах это нужно только у "новостей"
  • Снимаем галочку в "настройках меню" т.к. у корпоративных сайтов это нужно только у "страниц"

1. Страница добавления материала


Страница добавления материала для клиента не должна содержать "лишних" полей. Каждое лишнее поле - звонок менеджеру, поэтому:

  • Перемещаем меню из вертикальных табов в свернутый филдсет
  • Включаем галочку "добавить в меню", чтобы все "страницы" гарантировано попадали в меню
  • Есть возможность выставить родительский пункт меню по умолчанию. Полезно при использовании на сайте горизонтального меню, т.к. (смотрим предыдущий пункт) все "страницы" у нас по умолчанию попадают сразу в меню, и оно может стать шире, чем предусмотрено дизайном.
  • Прячем лишние для пользователя поля: вес меню, родительский пункт меню, информация о редакции
  • Прячем поля "выбор формата ввода" для "body".

Всё это естественно регулируется на странице настроек

2. гугл/яндекс вебмастер

Менеджер проекта (или клиент) может сам быстро добавить сайт в гугл/яндекс вебмастер, без обращения к программису

3. Яндекс-метрика

Менеджер проекта (или клиент) может добавить на сайт яндекс-метрику не обращаясь к программисту. При желании можно отобразить информер (картинка с кол-вом посетителей) - блок, который можно перетащить например в подвал. Для гугланалитика есть отдельный  модуль http://drupal.org/project/google_analytics

4.Контакты с яндекс-картой

Менеджер проекта (или клиент) может отобразить на странице контактов яндекс-карту с отметкой о местоположении организации не обращаясь к программисту.

5. hCard

hCard - это микроформат, который позволяет рассказать роботам о своей орагнизации. Его поддерживает яндекс, и обещает использовать эту информацию в яндекс-справочнике. Блок с этой информацией удобно разместить в подвале. Если заполнены координаты в настройках карты, то они также попадают в микроформат. Соотвественно если заполнено название организации, то оно отображается при клике на метку карты.
Сначала результат

Потом настройки

6. "еквид" и "vk_group"

Вкладочка "прочее" позволяет быстро добавить на сайт магазин "еквид" и "блок с группой вконтакте"

7. Модуль делает блок "копирайты".

Модуль делает блок "копирайты" Данные для блока берет из названия орагинзции в hCard и поля "Year From" вкладки "прочее". Результат полчаем в следующем в формате:
©2012 — %Название%
или
2011 — 2012 © %Название% (Если наступит следующий год).
© - ссылка на страницу логина (user) чтобы не уродовать сайт формой логина, и не заставлять пользователя вбивать "специальный" адрес в командную строку

Прикрепленный файлРазмер
Так выглядит добавление страницы для пользователя27.12 кб
Настройки полей для node_add19.36 кб
Добавление в вебмастер - настройки19.17 кб
Яндекс метрика - настройки20.92 кб
Яндекс карта - настройки100.7 кб
hcard - результат6.64 кб
hcard - настройки64.01 кб
Другие настройки18.44 кб
synapse.zip - модуль10.95 кб

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано brutal в сб, 18/02/2012 - 21:19.

Это я удачно зашел , спасибо что поделились , будем изучать ).


Опубликовано Айдар в сб, 18/02/2012 - 21:41.

"zaraza" написал(а):

- Модуль для отображения объекта на яндекс картах
- Модуль view_yamap для интеграции предыдущего модуля с вьювсом

Да! Да! Дааааааааааааааааа!

"zaraza" написал(а):

(Остальные чуть позже)

Ну когда же?! Поскорее бы!


Опубликовано ingumsky@drupal.org в сб, 18/02/2012 - 22:12.

Замечательно. Спасибо!


Опубликовано Plazik в вс, 19/02/2012 - 16:57.

Спасибо! Пригодится!


Опубликовано Artu в пн, 20/02/2012 - 06:13.

отлично


Опубликовано 0legka в пн, 20/02/2012 - 06:17.

+ ещё и с Вологды =) !


Опубликовано toshic в пн, 20/02/2012 - 06:32.

Круто!Я страницу добавления матералов для пользователя так же делал,без лишних полей))


Опубликовано RedRat в пн, 20/02/2012 - 15:42.

Как созрею до 7-ки - обязательно воспользуюсь, а пока - в закладки. :-)


Опубликовано vb в пн, 20/02/2012 - 17:34.

+1, subscribe на продолжение


Опубликовано andypost@drupal.org в вт, 21/02/2012 - 18:05.

Ссылку на песочницу лучше разместить ближе к началу статьи описания


Опубликовано Petro в пн, 27/02/2012 - 05:58.

А когда поделитесь
Модуль для отображения объекта на яндекс картах
Модуль view_yamap для интеграции предыдущего модуля с вьювсом ?


Опубликовано zaraza в пн, 27/02/2012 - 19:59.

"Petro" написал(а):

А когда поделитесь
Модуль для отображения объекта на яндекс картах
Модуль view_yamap для интеграции предыдущего модуля с вьювсом ?

Ждем апрува этого модуля на друпал.орге. На той неделе планировал написать про модуль для карт, не успел. Надеюсь на этой напишу.


Опубликовано anikinjura в сб, 03/03/2012 - 12:11.

Как бы посмотреть на остальные модули:
- Модуль для отображения объекта на яндекс картах
- Модуль view_yamap для интеграции предыдущего модуля с вьювсом

?


Опубликовано Geldora в вт, 10/04/2012 - 18:13.

СТавила, потом отключила.

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

Предложение: по возможности разбить модуль на под плагины. Или добавить галки вкл/выкл, чтобы не возникало проблем.


Опубликовано kolosnitsyn в вт, 10/04/2012 - 19:41.

"Уотета удаааарь... Уотета взриииф" =) Спасибо