Организация кросс-сайтового виджета на drupal

Какое то непонятное название для статьи получилось, расшифрую что имелось в виду. Допустим, у вас есть некий сайт, контент с которого было бы удобно представить в виде блочка на другом сайта. Цели могут быть разными — это может быть реклама сайта с динамически изменяющимся контентом (к примеру брифинг новостей или ротация заголовков статей с некого сайта-источника), это может быть внедрение какого информационного сервиса, который вы (возможно даже платно) разрешаете размещать на других сайтах (примеры — курсы валют, погоды и т.п.)

Вводная (условия задачи)

Разместить информационный блок с другого сайта (сайта-источника) в виде вставки HTML кода, вроде:

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

Решение

Надо помнить, что все изображения (картинки) и стили должны содержаться на сайте-источнике. Т.е. HTML блок должен иметь абсолютные ссылки как для адресов картинок (img), так и для cсылок-якорей (a), так и для изображений, описываемых в каскадных стилях. При этом описание стилей передается вместе с блоком HTML.

Сайты-приемники, запрашивают скрипт с сайта-источника по некоторому адресу. Допустим — это некий адрес — http://www.source.ru/widget.js. Тогда в модуле (пусть этот модуль называется widgetmodule) на сайте-источнике у нас появится примерно такой код:

Где в функции _exportsource_js реализуется создание нужного нам кода javascript. Рассмотрим эту функцию подробнее.

Т.е. механизм — как видно — весьма прост. А технические задачи вроде объявления специального адреса скрипта выводящего блок, создание валидного кода javascript — все решается средствами drupal.

Есть вопросы? -пишите!

Мало букафф? Читайте есчо !

Как проверить роль пользователя (user role) в Drupal 7?

Ноябрь 22, 2016 г.

Модуль user предоставляет довольно неудобную функцию, которая проверяет роль пользователя по Role-ID, а не по названию роли. Код и описание функции (из /modules/user/user.module): [crayon-6ac7f1c3dbe17451304745/] Проблема в том, что роли пользователей ...

Читать

Авторизация по емайл (email) в CMS Drupal

Май 6, 2010 г.

Сейчас куда ни глянь, пошла мода в качестве имени при авторизации использовать не пресловутый login, а адрес электронной почты. И это действительно удобно. Адрес почты уникален для каждого пользователя, хорошо запоминается самим пользователем и не возникает ...

Читать

Drupal Commerce - расчет доставки для выбранного района

Август 26, 2021 г.

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

Читать

Доводим модуль transliteration в Drupal

Июль 11, 2016 г.

Модуль транслитерации помогает нам с переименованием загружаемых файлов. Но мне лично не все нравится в его работе. Например, пробелы он заменяет символом нижнего подчеркивания, а хотелось бы получить "дефис". Хоть у модуля и нет тонких настроек, ...

Читать
 

Комментарии к «Организация кросс-сайтового виджета на drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: