
Модули в Joomla по умолчанию, могут размещаться только в определенных позициях, доступных в конкретном шаблоне. Но что делать, если нужно вывести модуль внутри статьи? Для этого есть отличный плагин Modules Anywhere, с помощью которого делается это достаточно просто.
Для начала скачиваем плагин:
http://www.nonumber.nl/extensions/modulesanywhere?tab=download
Заходим в панель администратора, пункт Расширения - Установить/Удалить, выбираем архив с плагином и устанавливаем его. Открываем материал, в который хотим вставить модуль, и видим, что в нижней части панели управления редактора появилась новая кнопка "Insert Module".
Например: нам надо вставить модуль-фотогалерею под названием JT SlideShow.
Ставим курсор в нужное место в тексте, где хотим поместить модуль, и нажимаем кнопку insert module.
В появившемся окне нужно выбрать модуль JT SlideShow, а также можно выбрать стиль оформления с помощью функции - Module Style.
Теперь мы видим, что в статье появилась запись:
{module JT SlideShow|none}
где «none» – это стиль по умолчанию.
Нажимаем сохранить. Теперь наш модуль вставился в статью.
Также мы можем поместить модуль в статью вручную:
Указав в коде имя модуля – {module Name of the module|none}.
Указав в коде id модуля – {module id|none}.
Напоминаю, что «none» это стиль отображения модуля, и мы можем вписать в код разные значения, например:
{module Name of the module|rounded}, где «Name of the module»
это название модуля,который мы хотим вставить.
Вот перечень стилей:
- table - Wrapped by Table (Column).
- horz - Wrapped by Table (Horizontal).
- xhtml - Wrapped by Divs.
- rounded - Wrapped by Multiple Divs.
- none - No wrapping (raw output).
Хочу добавить, что модуль который мы хотим вставить в статью, должен быть включен и если мы не хотим, чтобы он отображался в стандартной позиции шаблона, которая указана в настройках, а отображался только в статье, куда мы его вставили, т.е. не дублировался, нужно в настройках модуля, который мы вставляем, в "Назначение меню" поставить переключатель на НЕТ.
Надеюсь всё понятно.Удачи!
Примечание от Wedal'a:
Благодарю Will'a за написание этой статьи. Хочу добавить еще немного информации о плагине. Прежде всего то, чем он отличается от плагина loadposition:
- Modules Anywhere работает где угодно, не только в статьях. Он работает даже в модулях (т.е. модуль можно вставить в модуль);
- Вы можете вставлять отдельный модуль, а не только позицию для модулей;
- Вы можете управлять стилями отобаржения модуля внутри тега, а не только в глобальных настройках (о чем писал Will);
- Вы можете пользоваться настройками безопасности, позволяющими отключить эту функцию для пользователей с низким уровнем доступа.
- Наконец, что мне особенно понравилось, данный плагин поддерживает некоторые компоненты(в том числе и VirtueMart), для которых производится контроль отображения модуля. Т.е. просто пользуясь Joomla, отключить отображение какого-либо из модулей для VirtueMart, но при этом показывать его на страницах Joomla, было весьма проблематично, т.к Joomla не взаимодействует со сторонними компонентами на уровне модулей. Modules Anywhere позволяет легко решить эту проблему.
И на последок добавлю скриншот с настройками модуля:
1) Бесплатная - функционала хватает
2) Платная - PRO-версия с расширенным функционалом
Подробнее на сайте разработчика http://www.nonumber.nl/extensions/modulesanywhere
Можно ли вставить модуль "куда угодно" на странице сайта? (Я не имею ввиду в тексте, или в другом модуле). Я имею ввиду абсолютно новую позицию - допустим в верхнем правом углу окна - там где нет никакого текста или модуля, а просто пустое место. Как это делается?
К сожалению этот плагин полностью скрыт и его инструментов я не вижу в админке - только одна кнопка "insert module" - но эта кнопка доступна только в редакторе статей. Если я хочу вставить позицию для модуля куда угодно, то должна быть подобная кнопка где-то, но не в текстовом редакторе... расскажите о других инструментах плагина, кроме кнопки в текстовом редакторе. Как создаётся новая позиция для модуля "на голом месте"?
В этой версии нет ограничений по функциональности. Однако, приобретя лицензию, Вы поддержите разработчика в его стремлении продолжать разработку и поддержку этого расширения.(Приобрести лицензию)
Задолбался искать где это в настройках находится. У меня версия плагина 1.16.2
Модуль продолжает дублироваться. У меня стоит и плагин Modules Anywhere и Advanced Module Manager
Есть еще вариант, как избавиться от дублирования. Просто впишите в опцию позиции модуля свою собственную.
Вот конкретно такой позиции "Назначение меню" с тремя вариантами радио-кнопок "Все", "Нет", "Выбрать из списка" как у Вас в статье - НЕТ!!! Есть "Пункты меню" с вариантами - Активировать: "Выбрать","Исключить","Всегда". Вы скажете, что аналогично? Хорошо! Выбираю "Исключить",..да короче, проще посмотреть вот: http://imageshost.ru/photo/38951/id531703.html
Свою собственную, тоесть произвольно, которой нет в списке? Вписал, проадает дублирование а заодно пропадает и CSS.
Хм, есливсавить в статью - работает, но я всавил в профиль Community Builder под изображение - вот тут теряется стиь
Заранее спасибо
Однажды, ради интереса, я пытался вывести в модуле А модуль Б, в котором выводится модуль А. Ничего хорошего из этого не вышло
А можно поподробнее.
{loadposition позиция модуля}
Просто поместите эту запись, например, в DIV с нужным классом:
myclass будет как бы суффиксом для этого модуля.
Да, кстати. Вспомнил, что в настройках плагина loadmodule, который и отвечает за вывод модулей в материалах, есть опция с выбором стиля. Если там выбрать подходящий стиль, то суффикс появится.
Если же мы говорим о Modules Anywhere, то в статье описывается, как применить к нему стиль:
а кто подскажет как правильно установить позицию вставленного модуля в статье. по умолчанию модуль ставиться в крайнее левое положение, а хотелось бы его видеть в центре
после этого сайт перестал работать!
500 - Layout "0" not found
только это и выскакивает
Obratilsa k hosterom oni ne obnovlyaut php.
K so starim php ustanovit? Vozmozhno li naiti kakie-nibud resheniya?
А то и "в любое", и "модуль в модуль", но потом оказывается, что всё туфта и вставка возможна только в статью. В статью тоже ведь можно вставлять модули без этого плагина.
Или я не понял о чем речь? Что значит "куда угодно"?
1) установил плагин
2) есть статья, куда хочу вставить модуль
3) есть модуль customHTML в позиции sidebar-a шаблона
4) после вставки {module 203}, где 203 - id модуля, в статье модуль появился, но не в своей позиции (сайдбар), а прямо в самой статье перед началом текста и без стилевого оформления указанного в class suffix
5) где я допустил ошибку?
п.с. пробовал перед и после {module} писать {modulepos} и {loadposition} - результата нет(
Попробуйте!
Скажите пожалуйста, можно ли этот модуль вставить в модуль, т.е у нас есть модуль который выводит какой-то материал или текст, а в него нам нужно вставить еще один модуль?
Вообще, с помощью данного расширения такой фокус провернуть можно, но лучше, все-таки, не создавать себе такие сложности, а решить вопрос более изящным путем.