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

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

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

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

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

Решение

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

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

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

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

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

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

Получить имя поля ключа entity в Drupal 7

Апрель 6, 2021 г.

У меня эта задача возникла при работе с формами, где формы содержат поля '#entity' и '#entity_type'. Нужно было найти универсальный способ прочитать ID объекта, т.к. для каждого объекта имя этого поля может отличаться (для node - nid, для file - fid и ...

Читать

Drupal node, объект публикаций в друпал

Ноябрь 8, 2015 г.

Drupal - это прежде всего CMS, т.е. система управления контентом. Поэтому все в drupal так или иначе связано с главным объектом системы - с нодами (nodes). Опросы, статьи, разделы сайта, голосования и публикации в форуме - это все экземпляры объекта node, ...

Читать

Изменяем число выводимых комментариев на страницу в Drupal

Май 31, 2019 г.

С комментариями в Drupal во все времена было на мой взгляд - всё сложно. В 7ке сущность стала частью конструктора, стало веселее, но общий шаблон комментариев так и остался "костью в горле" у многих программистов. В настройках типа публикации вы ...

Читать

Настраиваем патчи в composer на примере drupal проекта

Май 14, 2025 г.

Drupal давно использует composer для управления зависимостями и для загрузки/обновления модулей. Composer кроме всех прочих полезностей позволяет наладить ...

Читать
 

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

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



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