it-swarm.dev

Come mostrare il numero di articoli pubblicati?

Voglio visualizzare il numero di articoli pubblicati nei moduli del menu Joomla,
come l'immagine qui sotto ma non posso.

Mi aiuti per favore. Grazie
menu

3
hhgh4269

È possibile ottenere ciò sovrascrivendo il modulo menu.

Supponiamo che il tuo modello attuale sia protostar, quindi crea un file

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

e aggiungi il codice come sotto (non ottimizzato ma funziona):

<?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

Una rapida ricerca su Google di "ottenere il numero di articoli joomla" mi ha dato un domanda simile da StackOverflow con il seguente codice:

$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

Dovresti essere in grado di creare un ciclo PHP se devi contare articoli in diverse categorie.

Spero che sia d'aiuto.

3
johanpw