(Tiempo estimado: 2 - 4 minutos)

Hoy te traigo un mini-tutorial para Joomla en el que te enseño a buscar artículos Joomla a través de su contenido en el Back de Joomla.

Se trata de una continuación de otro artículo que ya escribí en el que mostraba cómo buscar elementos Joomla por su ID.

Cómo buscar artículos en el back de #Joomla a través de su contenido. #TipJoomla por @sergiois Tuitéalo

Hasta hace poco tiempo solo podíamos buscar artículos por su ID, como ya te explicado en el artículo anterior, y por palabras que estuvieran en el título del mismo (a parte de usar los filtros que es una práctica que siempre recomiendo).

Pues bien, desde ya, ahora también puedes buscar por palabras que estén en el contenido de ese artículo.

¿Y cómo hago esto?

Pues muy fácil: pones en el campo de búsqueda lo siguiente: content:palabras a buscar.

Y ya está. Así de sencillo.

Vamos a verlo con un ejemplo: si, por ejemplo, en mi web hago una búsqueda con "para desarrolladores", tendré este resultado:

buscar artículo joomla por contenido - 1

Como puedes ver, no me arroja ningún resultado.

Esto es porque no tengo ningún artículo que contenga en su título estas 2 palabras.

Pero ahora, si aplico este pequeño "tip" y pongo content:para desarrolladores:

buscar artículo joomla por contenido - 2

Puedes ver cómo ahora sí me muestra una serie de artículos en los que se encuentran estas palabras dentro del contenido.

Útil, ¿no?

Bueno... visto esto, vamos a ver la parte de código.

Para desarrolladores

Si eres desarrollador, puedes aplicar este tipo de búsqueda de la siguiente forma:

if (!empty($search))
{
  if (stripos($search, 'content:') === 0)
  {
    $search = $db->quote('%' . $db->escape(substr($search, 8), true) . '%');
    $query->where('(a.introtext LIKE ' . $search . ' OR a.fulltext LIKE ' . $search . ')');
  }
}

Como puedes ver en el código, la función stripos($search, 'content:') nos dice si existe o no este formato de búsqueda y, en caso de que exista, aplicamos la función substr($search, 8) para quedarnos solo con las palabras introducidas.

Esto iría en el modelo de tu extensión a la hora de formar tu query.

No te vayas todavía... ¡aún hay más!

Exacto... no solo estas búsquedas se quedan en el ID y en el contenido, sino que también se pueden buscar por autor.

Y, ¿cómo hago esto?

Pues muy fácil, usando author:nombre.

Esto hará que se busque en el campo "name" (Nombre) y "username" (Nombre de usuario).

Y por último...

Venga, esto ya es de propina.

El código que hay en Joomla para este tipo de búsquedas de artículos, a parte de lo que ha has visto de buscar por ID (id:), contenido (content:) y autor (author:), si no encuentra estas "palabras clave" en lo que pones en el campo de búsqueda, no solo hace la búsqueda por título como te decía al principio de este artículo, sino que busca en los campos de alias y, lo que es más importante, en el campo de notas.

Por eso, para ayudarte en la gestión de artículos, es importante que, cuando el volumen es (o va ser) amplio, te acostumbres a usar estas notas para luego poder acceder a estos artículos de una forma rápida y sencilla.


Ahora ya sí te dejo.

Espero que te sirva este pequeño miniturial sobre Cómo buscar artículos en el back de Joomla a través de su contenido.

Sobre el autor, Sergio Iglesias

Sergio Iglesias

Sergio Iglesias es formador, desarrollador y front-end del CMS Joomla!. A través de su blog y sus cursos puedes aprender a desarrollar tu propio portal web autogestionable.

 

¿Te ha gustado el artículo? ¡Suscríbete YA!

¿Necesitas un sitio web que funcione?

¿No quieres depender de nadie para gestionar tu página web?

Recibe contenido exclusivo y GRATIS mi curso sobre desarrollo de plantillas Joomla!


Me apunto ya!

Escribir un comentario

Puedes publicar el comentario que quieras, pero si lo considero SPAM será eliminado automáticamente.

 

SergioIglesias.NET te informa que los datos de carácter personal que nos proporciones rellenando este formulario serán tratados por Sergio Iglesias Sánchez como responsable de esta web. La finalidad de la recogida y tratamiento de los datos personales que te solicitamos es, únicamente, para gestionar los comentarios de este blog. La legitimación se realiza a través del consentimiento del interesado. Te informamos que los datos que nos facilitas estarán ubicados en los servidores de SiteGround (proveedor de hosting). Ver política de privacidad de Siteground. El hecho de que no introduzcas los datos de carácter personal que aparecen en el formulario como obligatorios podrá tener como consecuencia que no pueda atender tu solicitud. Podrás ejercer tus derechos de acceso, rectificación, limitación y suprimir los datos en info@sergioiglesias.net así como el derecho a presentar una reclamación ante una autoridad de control. Puedes consultar la información adicional y detallada sobre Protección de Datos en mi política de privacidad.

¿Quieres tener un sitio web que funcione?

Contacta conmigo