Inicio Secciones Tecnología Joomla! Cambiar el orden de despliegue del plugin JFoobar Author Biograph en Joomla 1.5.x
  • Increase font size
  • Default font size
  • Decrease font size
Buscar

Blog - Tadek Chávez

Cambiar el orden de despliegue del plugin JFoobar Author Biograph en Joomla 1.5.x

E-mail Imprimir PDF

Tags: Joomla 1.5 | Open Source

Joomla!El tener varios plugins de contenido en Joomla! puede generar algunos problemas en cuanto al orden de despliegue de la información de cada uno, esto es porque dentro de las opciones de programación de plugins con Joomla! framework podemos insertar el contenido de nuestro plugin en diferentes etapas a lo largo de la renderización completa de la página, estas opciones son:

  • onAfterDisplayContent
  • onAfterDisplayTitle
  • onBeforeDisplayContent
  • onPrepareContent

Las opciones y forma de programar cada una de estas son similares, en otro artículo las explicaré a detalle.

La empresa jfoobarjfoobar creó el plugin Author BiographAuthor Biograph que tiene la función de insertar una pequeña reseña del autor del artículo al finalizar este, pero como lo expliqué en el primer párrafo existen varias formas de que se despliegue "después de", puede ser a través de onAfterDisplayContent o de onPrepareContent. En este caso Author Biograph por default lo hace a través de onAfterDisplayContent, lo que provoca que cualquier plugin que esté insertado con onPrepareContent se desplegará primero. Para realizar el cambio a onPrepareContent tenemos que modificar el archivo instalaciónJoomla/plugins/content/jfoobar_author_bio.php, alrededor de la línea 42 encontraremos:

function onAfterDisplayContent( &$article, &$params, $limitstart )

Lo cambiamos por:

function onPrepareContent( &$article, &$params, $limitstart )

Con esto cambiamos el "momento" o etapa en que el plugin será procesado por Joomla!, ahora tenemos que hacer una modificacion en la forma en que el plugin regresa la información a Joomla!, en la línea 86 habrá algo como:

$link = JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid));
$output .= '<a href="'.$link.'" title="Full profile '.$row->title.'">More about '.$row->title.'</a>';
$output .= '</div>';
return $output;

Lo sustituimos por:

$link = JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid));
$output .= '<a href="'.$link.'" title="Full profile '.$row->title.'">More about '.$row->title.'</a>';
$output .= '</div>';
$article->text = $article->text.$output;
return true;

Una vez hecho este cambio y en caso de tener más plugins de content insertados a través de onPrepareContent el orden de despliegue estará definido en base al orden que se establezca en el gestor de plugins de Joomla! en el panel de control.

Tadek ChávezTadek Chávez es el editor principal de este sitio. Ingeniero en sistemas computacionales especializado en ciencias de la computación con enfoque en sistemas abiertos. Director de tadzioTektadzioTek.

Más sobre Tadek Chávez


Comparte este artículo en tu red social preferida.
Digg! Reddit! Del.icio.us! Google! Live! Facebook! StumbleUpon! Yahoo!
Actualizado ( Miércoles, 06 de Mayo de 2009 01:15 )  

Comentarios

Por favor, inicia sesión para hacer comentarios.

Lo nuevo en TadekChavez.com


Lo más visto...

Editores de TadekChavez.com

Visita nuestro perfil y síguenos en Twitter.

Tadek Chávez - Editor principal TadekChavez.com
Tadek Chávez
Editor principal
Follow Tadek Chávez on Twitter

Manuel Giménez - Editor de
Manuel Giménez
"La Columna de Manu"
Follow Manu on Twitter

Raúl Ponce de León - Editor de Tecnología en TadekChavez.com
Raúl Ponce de León

Editor - "Tecnología"
Follow Raúl on Twitter

Gonzalo Quinteros - Fotógrafo
Gonzalo Quinteros
Editor - "Fotografía"
Follow Gonzalo Quinteros on Twitter

Alejandro Castillo - Editor de Medicina
Alejandro Castillo
Editor - "Medicina"
Follow Alex on Twitter

Diana Chávez - Editora de Medicina
Diana Chávez
Editora - "Medicina"
Follow Dian on Twitter