2 minutos de lectura ( 381 palabras)

Ver el número de artículos por categoría en un blog Joomla

Ver el número de artículos por categoría en un blog Joomla

Como mas de uno ya habrá descubierto, Joomla 3.x permite mostrar el numero de artículos existentes en cada categoría junto a su nombre, solo con marcar una casilla desde la configuración. Sin embargo, algunos todavía seguimos usando Joomla 2.5, y esta opción no esta disponible. Y no esta disponible dentro de la administración, pero si en el código de Joomla, es decir, Joomla 2.5 si que cuenta los artículos, tan solo hay que saber que modificar para que muestre ese dato.

En Joomla 3.x

En el caso de Joomla 3.x, si tenemos montado un blog (categoría blog), y usamos el modulo "Categorías de los artículos" para ver las categorías pertenecientes a este blog, simplemente tendremos que marcar la opción "mostrar la cantidad de artículos". 

configuracion categoriasCon lo que obtendríamos algo así:

articulos en categorias

Solución para Joomla 2.5

En Joomla 2.5 tendremos que modificar el modulo "Categorías de los artículos" como muestro a continuación: 

  1. Abrimos el archivo modules->mod_articles_categories->helper.php con un editor y añadimos los siguiente (marcado en rojo):
    ...
    abstract class modArticlesCategoriesHelper
    {
    public static function getList(&$params)
    {
        $options = array();
        $options['countItems'] = 1;
        $categories = JCategories::getInstance('Content', $options);
        $category = $categories->get($params->get('parent', 'root'));
        if ($category != null)
        {
            $items = $category->getChildren();
            if($params->get('count', 0) > 0 && count($items) > $params->get('count', 0))
            {
                $items = array_slice($items, 0, $params->get('count', 0));
            }
            return $items;
        }
    }
    ...
  2. Abrimos el archivo modules->mod_articles_categories->tmpl->default-items.php y añadimos esto en la línea 17 aproximadamente (lo marco en rojo):
    defined('_JEXEC') or die;
    foreach ($list as $item) :
    ?>
    <li <?php if ($_SERVER['PHP_SELF'] == JRoute::_(ContentHelperRoute::getCategoryRoute($item->id))) echo ' class="active"';?>> <?php $levelup=$item->level-$startLevel -1; ?>
      <h<?php echo $params->get('item_heading')+ $levelup; ?>>
    <a href="/<?php echo JRoute::_(ContentHelperRoute::getCategoryRoute($item->id)); ?>">
    <?php echo $item->title;?> (<?php echo $item->numitems; ?>)</a>
       </h<?php echo $params->get('item_heading')+ $levelup; ?>>
    <?php
    if($params->get('show_description', 0))
    {
    ...
    

Con esto bastara para que el modulo "Categorías de los artículos" cuente los artículos en cada categoría del blog, de la misma forma que lo hace en Joomla 3.x. 

Conclusión

Joomla cada vez esta mas preparado para crear un blog, y ofrece funciones muy interesantes para ello, sin embargo, hay ocasiones en las que estas funciones no son accesibles desde el backend, o no están implementadas, por lo que nos tocara investigar un poco hasta dar con la solución. En cualquier caso, si el problema escapa a nuestro nivel, siempre tendremos la opción de recurrir a una extensión.

0
¡La JCM hispana ya tiene un año!
Desarrollo práctico
 

Comentarios

¿Ya està registrado? Ingresa Aquí
No hay comentarios por el momento. Sé el primero en enviar un comentario.

By accepting you will be accessing a service provided by a third-party external to https://magazine.joomla.org/