Joomla!: método OnContentPrepare limitado

Tamaño de letra:

OnContentPrepare

Para los desarrolladores de plugins en Joomla!, existe un método muy importante y utilizado pero que, curiosamente, tiene bastantes limitaciones. Este método es en J! 1.5 onPrepareContent mientras que a partir de J! 1.6 se denominó onContentPrepare que aunque son parecidas también cambiaron los argumentos. Simplemente quiero que observes algunos inconvenientes que tiene.

Voy a centrarme en onContentPrepare para las versiones a partir de Joomla! 1.6. Realmente en la programación de plugins de contenido es muy usada, ya que como su nombre indica se ejecuta cuando se prepara el contenido. Se nombra tal que así (Mira el ejemplo del plugin pagebreak y los comentarios):

public function onContentPrepare($context, &$article, &$params, $page = 0)

Existen otros métodos que puedes usar como: onContentBeforeDisplay() que se ejecuta antes de mostrar el contenido. Este último es muy interesante porque si lo depuras puedes obtener mucha información preguntando a los argumentos que se le pasan, sin embargo, y este es el problema que tratamos hoy, la función onContentPrepare es limitada en esto y en determinadas vistas (featured, category, etc.) SÓLO nos da una información y es $articulo -> text que es el texto del artículo. No podemos obtener directamente de los argumentos ninguna información más.

Este problema ya ha sido comentado en varios sitios y foros: onContentPrepare event too limited. La verdad que es un inconveniente, puesto que, por ejemplo en determinadas vistas no te permite obtener fácilmente la ID de un artículo. Imagina que en vista featured (destacados) quieres que un plugin no se muestre en un determinado artículo. Si tuvieras la ID del artículo podrías evitar el uso del plugin, pero en vista featured sólo tenemos el texto y por mucho que hagas $articulo->id no vas a conseguir nada. Esto último es lo que se comenta en el enlace anterior en joomlacode.

Sin embargo, en vista article (artículo) puedes obtener muchísima información de los argumentos.

La verdad que he buscado información al respecto pero aún no he encontrado una solución factible. He examinado el código de diversos plugins de contenido y observo que los desarrolladores ya conocen esta limitación. Tal vez en futuras versiones o en Joomla! 2.5 se resuelva este inconveniente, ya que cuando hablo de encontrar una solución factible se trata de corregir un posible error o añadir una característica a la instalación de Joomla!, no vale para nada corregir  individualmente algo ya que el plugin que tú programes solo funcionará correctamente en tu web.

Última actualización: Sábado, 12 Diciembre 2015
Escribir un comentario
Antes de publicar un comentario, usted debe aceptar nuestras condiciones de uso: Condiciones de uso. Debido al spam, todos los comentarios serán moderados. Normalmente se responde en unos minutos, refresca los comentarios para comprobarlo.



 
Visitas: 8491018