A menudo necesito crear un elemento de menú que muestre un módulo en el área de componentes, sin ningún otro contenido.
La forma en que resuelvo esto es crear un nuevo artículo y agregar solo {loadposition mymodule}
en el contenido del artículo. Luego creo un elemento de menú de artículo único para el artículo. Esto está bien para un solo módulo, pero ¿qué pasa si tengo 20 módulos diferentes que quiero mostrar de esta manera? Tendría que crear 20 módulos, 20 artículos (casi vacíos) y 20 elementos de menú.
¿Hay otras formas de mostrar un módulo (y nada más) en el área de componentes de una plantilla? ¿Trucos? Hacks? Ideas?
joomla-3.x
joomla-2.5
module
templates
content
johanpw
fuente
fuente
Respuestas:
He hecho esto creando una posición de módulo en la misma ubicación con el componente y verificando si hay un módulo en esta posición, luego lo visualizo, de lo contrario, vaya al componente:
Código de muestra:
Luego, cuando quiero mostrar un módulo en lugar de un componente en una página, creo que el módulo lo asigna a ese elemento del menú y listo.
Una pequeña nota al margen:
Para mayor comodidad y mayor claridad, sugiero nombrar esta posición del módulo como "content-module", "main-module" o "compomodule". Cualquier cosa que recuerde que cualquier módulo colocado allí reemplazará la salida del componente.
fuente
Para mejorar las respuestas dadas aquí:
Para incluir una posición de módulo en su vista de componentes y cargar módulos allí, solo tiene que agregar
al archivo de vista.
La segunda cadena con la etiqueta corta de posición de carga se puede reemplazar con una var que contiene más html si lo necesita. No tiene que escribir esa línea para cada nueva posición de módulo:
(Sé que esta no es una respuesta directa a la pregunta de los autores).
fuente
Aquí hay una solución simple y funcional. He intentado con jdoc: include pero no funcionó.
fuente
Tuve que hacer lo mismo en mi sitio para demostraciones de extensión y botones de descarga, sin embargo, para ser sincero, creo que mantener las cosas separadas es de alguna manera mejor, ya que es más fácil de administrar. No solo estoy bastante seguro de que no hay forma de lograr lo que estás buscando a través del CMS real, solo el código duro (no digas más).
fuente
En primer lugar, según su pregunta, ya está creando 20 módulos y 20 elementos de menú, por lo que realmente lo único que tiene que hacer es crear un elemento de contenido de una línea para cada módulo. Si eso es realmente tan oneroso, entonces adelante con la idea de @FFrewin. Es un poco hacky, pero funcionará.
Personalmente, iría con los elementos de contenido. De hecho, lo hice cuando estaba construyendo un sistema con cuadros de diálogo emergentes que también quería que funcionara sin js habilitado. Puse el contenido del cuadro de diálogo en un módulo custom_html, manipulé el módulo para que se revelara y colocara cuando se hizo clic en un enlace. Y luego también apunté el enlace a un elemento de contenido, incluido el módulo como usted describió. Si js estaba habilitado, no se siguió el enlace y se reveló el cuadro de diálogo. Si js estaba deshabilitado, se siguió el enlace y el contenido del cuadro de diálogo se mostró como contenido. Y el contenido estaba en un solo lugar, así que no mantenía dos copias separadas del contenido.
fuente
La forma más limpia de hacer esto es usando: http://extensions.joomla.org/extension/m2c-module-to-component
fuente
Prueba esto
ref: /programming/12225538/how-we-include-a-joomla-module-in-a-component-view-in-joomla
fuente
Crea un artículo en blanco.
Crear elemento de menú seleccionando el artículo que creó.
Cree el módulo en una posición no utilizada, configure la asignación del menú solo en las páginas seleccionadas, seleccione solo el elemento del menú de arriba.
Como esto estaba en la parte superior, pensé que daría mi respuesta, esto es lo que hago.
fuente