Plugin Compatible Joomla 3.x Joomla 4 Français Anglais

Description

lmcontentlist

J'avais besoin d'un système pour lister les articles d'une ou plusieurs catégories, et cela dans plusieurs cas :

  • afficher la liste des articles dans la description d'une catégorie
  • afficher la liste des autres articles de même catégorie en pied d'un article
  • avoir une liste papier de tous les articles comme référence ou pour relecture des metadonnées par des clients

J'utilisais SectionList, c'est donc naturellement lui qui m'a inspiré pour faire un plugin adapté à mes besoins.

La plus grande différence est de pouvoir paramétrer totalement chaque appel du plugin. Avec un seul plugin, je réalise tous mes types de listes. Je dispose de plus de types d'informations pour décrire mes catégories et articles

Dans tous les cas, les articles non visibles par l'utilisateur actuel ne seront pas listés

Ce plugin n'évoluera plus.
L'action jcontent-list du plugin universel UP prend la relève
Voir aussi : jcontent-by-categories, jcontent-by-subcat, jcontent-by-tags

Configuration

Une fois le plugin installé par les méthodes habituelles de Joomla, il faut le publier.

Attention: lors de la mise à jour vers la version 1.5, il peut être nécessaire de supprimer les fichiers fr-FR.plg_content_lmcontentlist.ini dans les dossiers language du site.

Vous pouvez définir dans ses paramètres son comportement par défaut. Il sera possible d'adapter ces paramètres pour chaque utilisation du plugin.

J'ai essayé de mettre un maximum d'infos dans les bulles d'aide, n'hésitez pas à les consulter.

  • Template catégorie : si ce champ est laissé vide, la ligne décrivant une catégorie sera composée de son titre précédé des alias de ses catégories parentes. Voir ci-dessous la liste des paramètres
  • Niveau titre pour catégorie : balise utilisée pour afficher les catégories.
  • Classe catégorie : classe(s) affectée(s) au tag ci-dessus
  • Catégorie racine : afficher le nom de la catégorie racine comme en-tête de l'énumération et dans les titres des sous-catégories.
  • Sous-catégories : afficher les sous-catégories et leurs articles. Note: toujours affiché si la catégorie passée en paramètre est vide ou égale à zéro.
LMContentList - Paramètres catégories

  • Template article : Code HTML utilisé pour décrire l'article. Si ce champ est laissé vide, seul le titre avec un lien vers l'article sera affiché. Voir ci-dessous la liste des paramètres
  • Style de liste : Mode de présentation des articles. Une liste numérotée permet d'identifier et de compter les articles d'une catégorie.
  • Classe(s) pour balise : La ou les classes seront affectées à la balise précédente
  • Critère de tri : ordre d'affichage des articles
  • Ordre de tri ascendant ou descendant
  • Nombre maxi : la quantité maximale de lignes qui seront affichées. O = toutes
  • Statut des articles : ce paramètre permet d'afficher uniquement les articles publiés, les non publiés (pour les utilisateurs autorisés)(v1.4) ou tous.
LMContentList - Paramétres articles

  • Classe principale : la ou les classes indiquées ici seront assignées à la balise DIV principale
  • Format de date : Format de mise en forme de la date (au format sprintf)
    d-m-Y : 25-12-2015
    l j F Y : vendredi 25 décembre 2015
    d-m-Y H:i : 25-12-2015 23:59
  • Debug : affiche un var_dump des paramètres. Il est conseillé de l'utiliser comme paramètre lors de l'appel du plugin
LMContentList - Paramétres généraux

Utilisation - syntaxe

Pour utiliser LM-ContentList dans un article, il suffit de saisir le mot clé contentlist avec ses éventuels paramètres entre accolades

Exemples :

  • {contentlist} : liste des articles de la catégorie de l'article en cours et de ses sous catégories (v1.1 = liste tous les articles regroupés par catégories)
  • {contentlist 25} : liste les articles de la catégorie 25 et de ses sous catégories
  • {contentlist 0} : liste tous les articles regroupés par catégories

il est possible d'ajouter des paramètres sous la forme :

  • {contentlist 25 |param1=val1|...|paramN=valN }

Pour faciliter la relecture, il est possible d'insérer des sauts de ligne. Les 2 exemples ci-dessous produiront le même résultat.

{contentlist 20|art_template=##TITLE##}
{contentlist 

20 

|art_template = ##TITLE##

}

Note: les caractères indispensables sont surlignés en jaune.

Les paramètres

Les paramètres indiqués lors de l'appel modifient ceux définis par défaut dans la configuration du plugin.

Les paramètres, sous la forme clé=valeur, sont séparés par un caractère pipe (altgr+6). Il est possible de faire des sauts de ligne pour faciliter la lecture

  • cat_template : modèle HTML pour construire le titre d'une catégorie.
    exemple : cat_template=<b>##TITLE##</b> alias: ##ALIAS## affiche le titre de la catégorie en gras, le texte 'alias:' suivi de l'alias de la catégorie
    • ##ROUTE## : alias des classes parents
    • ##TITLE## : title
    • ##ALIAS## : alias
    • ##ID## : id article
    • ##ACCESS## : public, enregistré, spécial, invité, superadmin (si différent de public)
  • cat_tag : p, h1, h2, h3, h4, h5 ou h6 : balise utilisée pour afficher les catégories
  • cat_class : nom de la classe ou des classes affectées à la balise cat_tag. exemple: cat_class=fond-bleu texte-blanc
  • cat_show_root
    • 0 : n'affiche pas les informations (cat_template) sur la catégorie passée en paramétre sauf si vide ou égale à zéro.
    • 1 : affiche les informations (cat_template)
  • cat_show_child :
    • 0 : n'affiche pas les sous-catégories et leurs articles, sauf si la catégorie passée en paramétre est vide ou égale à zéro.
    • 1 : affiche toujours les sous-catégories et leurs articles
  • art_template : modèle pour construire le titre d'une catégorie
    • ##STATE## : publié (✔): non publié (✖), archive (▤), corbeille (♻)
    • ##ACCESS## : public, enregistré, spécial, invité, superadmin (si différent de public)
    • ##TITLE## : title
    • ##ALIAS## : alias
    • ##ID## : id article
    • ##CREA-DATE## : date création
    • ##CREA-BY## : nom auteur
    • ##MODIF-DATE## : date dernière modification
    • ##MODIF-BY## : nom correcteur
    • ##PUBLISH-DATE## : dates début et fin de publication sous la forme d'un texte dépendant de l'existence d'une date début et fin. Les textes sont définis dans le fichier traduction "\plugins\content\lmcontentlist\language\fr-FR\fr-FR.plg_content_lmcontentlist.ini" sous les mots-clés LMCL_PUBLISH_DATE_xxx
      La date de publication ne doit pas être le même jour que la date de création pour être prise en compte.
    • ##NEW-CREA## affiche le texte défini dans le fichier langue pour le mot-clé LMCL_NEWCREA durant art_new_nbday jours après la date de création ou de publication si plus récente. (v1.5)
    • ##NEW-MODIF## affiche le texte défini dans le fichier langue pour le mot-clé LMCL_NEWMODIF durant art_new_nbday jours après la date de modification ou de publication si plus récente. (v1.5)
    • ##METADESC## : meta description
    • ##METADESC-LENGTH## : nombre de caractères de la meta description
    • ##URL## : lien pour voir l'article en frontend
    • ##FEATURED## : Symbole si l'article est en vedette (★) ou non (☆)
    • ##LANGUAGE## :
    • ##HITS## :
  • art_tag : ul|ol
    • ul : liste à puce
    • ol : liste numérotée
  • art_class : nom de la classe affectée à la balise UL/OL. ex: puce-verte
  • art_sort_by : ordre de tri des articles spécifié par un de ces mots-clés
    • title : titre des articles
    • ordering : ordre de tri
    • created : date de création
    • modified : date de modification
    • publish_up : date de publication
    • id : identifiant
    • hits : popularité
    note: les catégories sont toujours classées dans l'ordre alphabétique de leur arborescence.
  • art_sort_order
    • asc : ascendant
    • desc : descendant
  • art_nbmax : nombre maximum d'articles listé par catégorie (0 = illimité)
  • art_current :
    • 0 : n'affiche pas l'article en cours. A utiliser pour une liste "Autres articles de la catégorie"
    • 1 : affiche l'article en cours
  • art_no_published : 0|1|2
    • 0 : uniquement les articles publiés
    • 1 : tous les articles visibles par l'utilisateur
    • 2 : uniquement les articles dépubliés (si l'utilsateur est autorisé)
  • art_new_nbday : nombre de jours durant lequel un article est considéré comme nouveau. 30 jours par défaut. (v1.5)
  • main_class : nom de la classe affectée à la balise principale de la liste.
  • date_format : format de la date selon syntaxe PHP
  • LM-ListContent - exemple d'affichage debug debug : affiche un simple var_dump avec la valeur des paramètres.
    Très utile pour comprendre pourquoi le plugin ne fait pas ce que l'on avait prévu.
    • 0 : pas d'affichage debug
    • 1 : affiche la valeur des paramètres au début de la page

Un exemple complet pour voir les possibilités du plugin

{contentlist 0 
| cat_show_child = 1 
| cat_tag=p 
| cat_class=text-bleu fs120 
| cat_template = <small>##ROUTE## </small><strong> ##TITLE##</strong> <small> <i>(Alias: ##ALIAS## [id:##ID##] ##ACCESS##)</i></small> 
| art_no_published = 1 
| art_sort_by = title 
| art_class = puce-fleche 
| date_format = d-m-Y 
| art_template=##FEATURED##<a href="##URL##">##TITLE##</a> <small>(id=##ID##) actualisé le ##MODIF-DATE##</small>}

Téléchargement Compatible Joomla 4

v1.6.1 - 4-10-2021
- fix pour J4

v1.6 - 25-03-2021
- compatibilité J4 et PHP8
- ajout uniquement articles archivés
- ajout mot-clé pour article : ##FULLTEXT##, ##INTROTEXT## et ##INTROTEXT-999##
- possibilité de saisir du bbcode pour les templates
- modification $slug et $catslug (ligne 250)

v1.5 - 10-06-2017
- ajout marqueur pour les articles récents (voir ##NEW-CREA##, ##NEW-MODIF## et art_new_nbday)
- correction affichage date de publication

v1.4 - 20-04-2017
- statut non publiés uniquement
- suppression notice pour test variables inexistantes
- prise en charge id et catégorie du contenu page pour les modules

v1.3 - 12-12-2016
- correction bug si plusieurs instances sur une même page ($catids_list)
- ajout serveur update

v1.2 - 08-06-2016
- Ne pas indiquer de catid affiche la catégorie et sous-catégories de l'article en cours

v1.1 - 06-06-2016
- param par defaut cat_tag sur p
- param cat_template & art_template intialisé dans php pour être interprété par le code

v1.0 - 15-05-2015
- première version

Modification des fichiers langues

Quelques tags de mise en page utilisent les fichiers de langue. Vous pouvez les modifier directement dans les fichiers du dossier /plugins/content/lmcontentlist/language/...

Vous pouvez également utiliser le menu extensions > Langue > Substitutions selon la méthode habituelle de Joomla

ASTUCE : le fichier langue accepte les balises HTML, il est donc possible de mettre des mots en gras, en rouge ou remplacer le texte par une image. Exemple:

LMCL_NEWCREA="<img src='../images/new.png'> <b style='color:red'>NOUVEAU</b>"

Support

Pour partager vos questions et suggestions, c'est sur le forum LM-ContentList

Print Friendly and PDF