Estrategia, creación y seguimiento web
Cuadrado oradado en una superficie con figuras 3d insertadas en él

¿Cuándo te puede venir bien crear una posición para módulos dentro de un componente?

En ocasiones en las que quieres introducir un módulo siempre en el mismo lugar dentro de la vista de un componente. Te enseño algunos ejemplos para aclararlo.

He decidido escribir este artículo porque el siguiente método me ha venido bien en diversas ocasiones y, para llegar a él, recuerdo haber tenido que leer en diferentes publicaciones y foros. ¡Muy agradecido a las personas que se preocupan de dar respuestas en foros!

Algunos ejemplos de aplicación en sitios web reales:

  • Quieres insertar un anuncio bajo la imagen principal de cada uno de los artículos. Este anuncio se configura independientemente en un módulo.
  • Quieres que haya un texto con una llamada a la acción concreta antes de mostrar los campos personalizados de cada artículo.
  • Quieres mostrar contenido concreto bajo cada artículo, antes de los plugins (comentarios, compartir en redes, etc).

De esta forma te resulta indiferente que sean 10 o 10.000 artículos, no tienes que editar cada uno de ellos.

Inserta el siguiente código en la vista del componente, en el punto en el que quieres que aparezca la posición para módulos. Hazlo en una sobrescritura en la plantilla, no directamente en el código de la vista del componente.

<?php // Module position
    $position_name = 'nombre-posicion';
    $attrs = array('style'=>'html5');
    $renderer = JFactory::getDocument()->loadRenderer('modules');
    echo $renderer->render($position_name, $attrs, null);
?>

En el código anterior sustituye nombre-posicion por el que quieras emplear.

Después solo tienes que crear uno o varios módulos para mostrar en esta posición.

Ojo, el nombre que le has dado no va a aparecer en el desplegable de selección de posición del módulo, tienes que escribirlo y darle a intro.

Otro método, compartido por Valentín García en Joomlashack (en inglés). Es añadiendo el siguiente código:

<?php echo JHtml::_('content.prepare', '[loadposition nombre-posicion]'); ?>

Sustituye los corchetes ' [ ' por llaves ' { '.

Con este método tienes que asegurarte de que el plugin de insertar módulos en artículos está publicado en Extensiones > Plugins. Se llama «Contenido - Cargar módulos» en español.

Si te ha resultado útil, tienes alguna duda o quieres compartir otro método, indícalo con un comentario más abajo.

¿Nos conocemos un poco mejor?

Pon tu correo aquí debajo y empezamos.

Te escribo, me escribes... lo típico.

Incluso puede que intente venderte algo. Si esto podría ser un problema para ti, no te apuntes.

¡Ah! Y te soborno con regalitos. Para empezar el curso de bienvenida a Joomla.

Ya solo con los 2 primeros vídeos vas a aprender algo que casi nadie respeta, pero, que si tú lo haces, le ahorras muchas horas a tu yo futuro, aunque no uses Joomla.

Deja tu correo y te haces con él (y otros beneficios que vendrán).

Loading...