Мне часто нужно создать пункт меню, который отображает модуль в области компонентов, без какого-либо другого содержимого.
Чтобы решить эту проблему, нужно создать новую статью и добавлять ее только {loadposition mymodule}
в содержание статьи. Затем я создаю пункт меню Single Article для статьи. Это хорошо для одного модуля, но что если у меня есть 20 различных модулей, которые я хочу отображать таким образом? Мне нужно было бы создать 20 модулей, 20 (почти пустых) статей и 20 пунктов меню.
Существуют ли другие способы отображения модуля (и ничего больше) в области компонентов шаблона? Трюки? Хаки? Идеи?
joomla-3.x
joomla-2.5
module
templates
content
johanpw
источник
источник
Ответы:
Я сделал это, создав позицию модуля в одном месте с компонентом и проверив, присутствует ли модуль в этой позиции, затем отобразите его, в противном случае перейдите к компоненту:
Пример кода:
Затем, когда я хочу отобразить модуль вместо компонента на странице, я создаю модуль, назначив его этому пункту меню, и все готово.
Небольшое примечание:
Для удобства и большей ясности, я предлагаю назвать эту позицию модуля как-то «content-module», «main-module» или «compomodule». Все, что будет напоминать, что любой модуль, расположенный там, заменит выход компонента.
источник
Чтобы усилить приведенные ответы здесь:
Чтобы включить модульную позицию в ваш компонентный вид и загрузить туда модули, вам просто нужно добавить
в файл просмотра.
Вторая строка с коротким тегом позиции загрузки может быть заменена на переменную, которая содержит больше HTML, если вам это нужно. Вам не нужно писать эту строку для каждой новой позиции модуля:
(Я знаю, что это не прямой ответ на вопрос авторов.)
источник
Вот простое и рабочее решение. Я попытался с JDOC: включить, но это не сработало.
источник
Мне пришлось сделать то же самое на моем сайте для демонстраций расширений и кнопок загрузки, однако, честно говоря, я думаю, что держать вещи отдельно в некотором смысле лучше, так как ими легче управлять. Мало того, что я почти уверен, что нет способа достичь того, что вы ищете, с помощью настоящей CMS, только жесткий код (не говорите больше).
источник
Во-первых, в соответствии с вашим вопросом вы уже создаете 20 модулей и 20 пунктов меню, так что на самом деле единственное, что вам нужно сделать, это создать однострочный элемент контента для каждого модуля. Если это действительно так обременительно, продолжайте с идеей @FFrewin. Это немного глупо, но это сработает.
Лично я бы пошел с материалами контента. Фактически, я сделал это, когда создавал систему с всплывающими диалоговыми окнами, которые я также хотел, чтобы работа была включена без js. Я поместил содержимое диалога в модуль custom_html, установил модуль, который должен быть обнаружен, и разместил его при нажатии на ссылку. А потом я также указал ссылку на элемент контента, включая модуль, как вы описали. Если js был включен, ссылка не была пройдена, и было открыто диалоговое окно. Если js был отключен, ссылка переходила, и содержимое диалога отображалось как содержимое. И контент был в одном месте, поэтому я не поддерживал две отдельные копии контента.
источник
Самый чистый способ сделать это, используя: http://extensions.joomla.org/extension/m2c-module-to-component
источник
Попробуй это
ссылка: /programming/12225538/how-we-include-a-joomla-module-in-a-component-view-in-joomla
источник
Создать пустую статью.
Создать пункт меню, выбирая статью, которую вы создали.
Создать модуль в неиспользуемом положении, установить назначение меню только на выбранных страницах, выбрать только пункт меню сверху.
Так как это было наверху, я хотел бы дать свой ответ, это то, что я делаю.
источник