web-dev-qa-db-fra.com

Comment afficher le nombre d'articles publiés?

Je souhaite afficher le nombre d'articles publiés dans les modules de menu Joomla,
comme l'image ci-dessous mais je ne peux pas.

Aidez-moi, s'il vous plaît. Merci
menu

3
hhgh4269

Vous pouvez y parvenir en remplaçant le module de menu.

Disons que votre template actuel est protostar puis créez un fichier

<JOOMLA FOLDER>/templates/protostar/html/mod_menu/default_component.php

et ajoutez le code comme ci-dessous (pas optimisé mais ça marche):

<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;
if($item->query['option']=='com_content' && $item->query['view']=='category')
{
    $catId=$item->query['id'];
    $model = JModelLegacy::getInstance('Articles', 'ContentModel');
    $model->setState('filter.category_id', $catId); 
    $articles = $model->getItems();
    $num_articles = count($articles);
    $item->title='<span class="article-count">'.$num_articles.'</span> '.$item->title;
}
// Note. It is important to remove spaces between elements.
$class = $item->anchor_css ? 'class="' . $item->anchor_css . '" ' : '';
$title = $item->anchor_title ? 'title="' . $item->anchor_title . '" ' : '';

if ($item->menu_image)
{
    $item->params->get('menu_text', 1) ?
    $linktype = '<img src="' . $item->menu_image . '" alt="' . $item->title . '" /><span class="image-title">' . $item->title . '</span> ' :
    $linktype = '<img src="' . $item->menu_image . '" alt="' . $item->title . '" />';
}
else
{
    $linktype = $item->title;
}

switch ($item->browserNav)
{
    default:
    case 0:
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
        break;
    case 1:
        // _blank
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" target="_blank" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
        break;
    case 2:
    // Use JavaScript "window.open"
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" onclick="window.open(this.href,'targetWindow','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes');return false;" <?php echo $title; ?>><?php echo $linktype; ?></a>
<?php
        break;
}
8
biswarupadhikari

Une recherche rapide sur Google pour "obtenir le nombre d'articles joomla" m'a donné un question similaire de StackOverflow avec le code suivant:

$model = JModelLegacy::getInstance('Articles', 'ContentModel');
$model->setState('filter.category_id', 2); // Set category ID here
$articles = $model->getItems();

$num_articles = count($articles); // Returns the number of articles in category

Vous devriez pouvoir créer une boucle PHP si vous devez compter des articles dans plusieurs catégories.

J'espère que ça t'as aidé.

3
johanpw