home

Вставка книг ELiS в Joomla!

Joomla - популярная CMS и может возникнуть необходимость встраивания книг ELiS в Joomla!

Обычно для встраивания одного ресурса в другой используется Embed-код c iframe. У этого подхода есть недостатки, особенно значимые для книг:

  1. Iframe имеют всегда заданную ширину и высоту, при встраивании размеры конкретного iframe могут неподойти к сайту.
  2. Заранее неизвестна высота книги и может появиться вертикальный скролбар либо пустое пространство под книгой.

Иными словами, хочется чтобы размеры iframe подстраивались автоматически под размеры книги. Сделать это можно только используя javascript как со стороны сайта с ресурсом, так и на встраивающей стороне. В большинстве случаев такой вариант является неудачным, т.к. большинство сайтов не позволяют встраивать javascript по соображения безопасности. Но решить эту задачу можно написав модуль, встраивающий внешние ресурсы при помощи подобия вики-разметки. Для этого я написал модуль oEmbedder.

oEmbedder[править]

https://github.com/borovinskiy/oEmbedder

OEmbedder состоит из двух частей: для Drupal и для Joomla!.

Drupal[править]

Для Drupal есть модуль oembedder, который позволяет сторонним модулям экспортировать нужные ресурсы через протокол oEmbed :). Говоря проще, если у вас есть модуль и он уже отдает некоторый код для встраивания в iframe, вы можете добавить очень простую функцию, реализующую hook_oembedder и получить простой способ встраивания в Joomla! А если приложить еще чуть-чуть усилий, то ваш iframe будет еще меняться в размерах на стороне встроившего сайта Joomla!

Joomla![править]

Надо просто установить в Joomla! готовый плагин oEmbedder, активировать его и добавить URL сайта Drupal в настройках плагина.

oembedder-custom-settings-servers.png

Теперь в Joomla! можно просто взять URL ресурса в фигурные скобки для вставки Embed-кода с подстраивающимся размером. Примерно так:

{{http://example.com/node/123}}

oembedder-joomla-editor-code.png

ELiS[править]

Для книг ELiS поддержка oEmbedder уже реализована. Устанавливайте в Joomla 2 или Joomla 3 бесплатный плагин oEmbedder. Затем в нужных местах указываете ссылку на книгу {{http://example.com/node/123}}.

oembedder-joomla-page-result.png