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

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

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

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

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

Решение

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

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

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

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

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

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

Еще один пример работы с EntityFieldQuery

Декабрь 23, 2020 г.

Время от времени продолжаю кодить под drupal 7, публикую еще один пример для работы EntityFieldQuery, на этот раз с фильтром по полю типа term reference. Основная логика точно такая же как и при работе с data полями (где у нас хранятся тексты или ...

Читать

Ставим метрику на сайт с CMS Drupal

Май 16, 2023 г.

Вы получили код для вставки метрики, осталось дело за малым - разместить его на сайте. Сайт управляется Drupal 8/9/10. Я покажу как это сделать через изменение темы сайта. Первая опция - это вставить непосредственно в один из основных шаблонов ...

Читать

Редирект после отправки формы в Drupal 7

Октябрь 8, 2017 г.

В Drupal form API версии 6, у формы было свойство редиректа (пример из документации Drupal): [crayon-6a5c95660c9ca395620587/] которое позволяло перенаправить пользователя после отправки/обработки данных формы. В 7й версии API это свойство исчезло. Что ...

Читать

Добавляем настройки к js плагину CKEditor 5 в Drupal

Март 19, 2024 г.

Когда вы настраиваете форматы текстов, то кроме добавления иконок в toolbar wysiwyg, вы можете видеть набор настроек для разных плагинов CKEditor. Посмотрим ...

Читать
 

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

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



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