Aujourd'hui je vous présente un petit DCT (développement en coin de table) qui n'est ni plus ni moins qu'un plugin pour Joomla, vous permettant de afficher dans un article, les dernières statistiques de vos derniers articles.
Comme j'ai voulu le faire sous forme d'un plugin, pour que vous puissiez l'intégrer dans un article par exemple, il vous suffit de saisir au sein de votre article ou de votre module la commande suivante
{statistiquesarticle}{/statistiquearticle}
statistiques.php
<?php
defined('_JEXEC') or die('Access deny');
class plgContentStatistiques extends JPlugin //Concatener à "plg" le nom du groupe (ici Content) puis le nom du plugin ( que l'on trouve ds le XML ligne extension) : plg<Plugin Group><Plugin name>
{
function onContentPrepare($content, $article, $params, $limit){
$document = JFactory::getDocument()->addStyleSheet("plugins/content/statistiques/style.css");
$db= JFactory::getDBO();
$sql= "SELECT title, hits FROM #__content order by hits desc";
$db->setQuery($sql);
$chaine= '<ul class="mes-statistiques">';
foreach($db->loadObjectList() as $monEnreg)
{
//echo $monEnreg->title.":".$monEnreg->hits."<br>";
$chaine .= "<li><span class=\"stat-libelle\">".$monEnreg->title."</span>:<span class=\"stat-valeur\">".$monEnreg->hits."</span></li>";
}
$chaine .= '</ul>';
$article->text = preg_replace('/{statistiquesarticle}(.*?){\/statistiquesarticle}/s', $chaine, $article->text);
}
}
statistiques.xml
<?xml version="1.0" encoding="utf-8"?>
<extension version="3.1" type="plugin" group="Content">
<name>Statistiques articles</name>
<author>Sebastien LHUILLIER</author>
<creationDate>Janvier 2023</creationDate>
<copyright>Sébastien LHUILLIER</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<authorEmail>Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.</authorEmail>
<authorUrl>www.sebastien-lhuillier.com</authorUrl>
<version>1.0</version>
<description>Ce plugin permet d'afficher les N articles les plus visualisés</description>
<files>
<filename plugin="statistiques">statistiques.php</filename>
<filename>statistiques.xml</filename>
</files>
<config>
<fields name="params">
<fieldset name="basic">
<field name="nbmax" type="text" default="" label="Nombre de resultats max" description="" size="10" />
</fieldset>
</fields>
</config>
</extension>