Joomla User Manual
Модули внутри статей
Введение
Обычно вы захотите связать модули с статьями каким-либо образом. Модули, как правило, привязываются к позициям модулей, и эти позиции отображаются в определённом месте на веб-странице в соответствии с шаблоном. Тем не менее, иногда бывает полезно встроить модуль непосредственно в статью. Для этого Joomla имеет плагин под названием Content - Load Modules. Когда он включён, модуль может быть встроен в статью тремя разными способами:
{loadposition position,[style]}
{loadmodule mod_type,the title,[style]}
{loadmoduleid moduleId}
Где style является одним из значений стилей модулей из вкладки "Дополнительно" в форме ввода данных модуля, например html, outline, table, card или noCard.
loadposition
Чтобы вставить модуль внутрь статьи, разместите модуль на позиции и загрузите эту позицию в статье следующим образом:
- Создайте модуль и установите его позицию на myposition. myposition может быть любым значением, которое не конфликтует с существующей позицией шаблона. В форме редактирования модуля введите позицию myposition и нажмите Enter вместо того, чтобы выбирать ее из выпадающего списка.
- Назначьте модулю к Всем пунктам меню. Это обеспечит его отображение вне зависимости от того, как посетитель попал на статью. Модуль не будет отображаться, если вы не используете команду для его загрузки в статье.
- Отредактируйте статью и вставьте текст {loadposition myposition} в то место, где вы хотите, чтобы модуль появился.
Примечание: Если плагин Content - Load Modules отключен, текст {loadposition myposition} останется неизменным в статье. Также название позиции должно быть написано строчными буквами. CamelCapitalization не сработает.
loadmodule
Синтаксис {loadmodule yyy} ищет первый модуль, чей тип соответствует строке 'yyy'. Таким образом, вы можете загрузить модуль mod_login, разместив {loadmodule login} в вашем тексте. Тип не всегда очевиден! Например, переключатель языков имеет тип languages. Чтобы найти тип, вам нужно просмотреть список папок модулей с помощью файлового менеджера/проводника и убрать часть mod_ из имени папки.
Если вы хотите загрузить конкретный экземпляр модуля, потому что у вас есть более одного модуля входа, например, озаглавленных как Вход 1, Вход 2 и т.д., вам нужно использовать {loadmodule mod_modType, modTitle}, где mod_modType будет mod_login, а modTitle будет именем/заголовком, данным вашему экземпляру этого модуля. Таким образом, в приведенном выше примере вы получите {loadmodule mod_login Login 2}.
Вы также можете добавить стиль, используемый для отображения модуля. Для этого добавьте стиль в качестве третьего параметра, например, {loadmodule login,Login 2,xhtml}. Если вы не добавите стиль, то никакой стиль не будет использоваться.
loadmoduleid
Синтаксис {loadmoduleid z} ищет модуль, чей id совпадает с числом z. Таким образом, вы можете загрузить модуль с id 200, поместив {loadmoduleid 200} в ваш текст. Этот вариант не использует дополнительных параметров, таких как параметр style.
Кнопка редактора
Если плагин editor-xtd Button - Module активирован, вы можете использовать кнопку редактора Module, чтобы более удобно вставлять вышеописанные теги в текст редактора. В списке модулей есть кнопка в столбце "Название" для вставки по ID и кнопка в столбце "Позиция" для вставки по расположению.
Модули внутри модулей
Возможно включать модуль в модуль типа Пользовательский HTML. Они обрабатываются контентными плагинами так же, как статьи.
Могут возникнуть проблемы с форматированием, так как стиль модуля Пользовательский HTML будет окружать стиль включенного модуля. Именно поэтому кнопка редактора Модуль недоступна в модулях типа Пользовательский.
Переведено openai.com