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éaloHasta 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:
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:
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.