
Cette action est un outil pour le webmaster.
Il permet d'avoir une vue synthétique sur les niveaux d'accès, les metas index et follow, les dates de début et fin de publication et de mise en vedette.
A la différence de l'action jcontent-metadata qui affiche les méta-données des articles d'une ou plusieurs catégories, jmenu-metadata part de l'organisation des menus et prend en charge ses metadatas.
{up jmenus-metadata=menutype}
MOTS-CLES MENUTYPE:
##id## ##menutype## ##title## ##description##
MOTS-CLES ITEM MENU:
##id## ##title## ##title-link## ##menutype## ##note## ##access## ##language##
##level## ##type## ##home##
##image## icon ou class ?
##publish_up## ##publish_down## ##index## ##follow##
MOTS-CLES ARTICLES
##id##, ##title##, ##title-link', ##title-size##, ##alias##, ##state##, ##access##, ##featured##,
##created##, ##modified##, ##publish_up##, ##publish_down##
##catid##, ##catname##, ##language##, ##index##, ##follow##
##featured_up## ##featured_down##
Les clés des champs JSON
##attribs.key## ##metada.key## ##images.key## ##urls.key##
- jmenus_metadata: prefset, liste menutype (sep:virgule) ou vide pour tous
- menutype-exclude: liste des menutypes non repris. (sep:virgule)
- menuid: ID menu parent pour limiter à cette branche
Balise et style du bloc principal
- main-tag (block) = ul: balise pour la liste des fichiers
- style: classes et styles
- id:
Modèle de présentation
- public-only: 1: visible par les robots, 0: visible par utilisateur courant
- template-menutype = [h2]##title##[/h2]: Modèle pour les lignes menutype
- template-menu = ##state[0:icon-unpublish t-rouge,1:,-2:icon-trash t-gris] # [span class="%%"] [/span] ####home[1:fa fa-home,0:] # [span]%%[/span] ####image##[b]##title-link##[/b] (id##id####language!* # - %%##) ##access!Accès public # [span class="bg-red t-white ph1"]%%[/span]####menutype## / ##type## ##publish_up>#now # [mark class="t-vert"] publié le %% [/mark]## ##publish_down>#now # [mark class="t-rouge"] dépublié le %% [/mark]####index=noindex # [span class="t-red"] %%[/span]## ##follow=nofollow # [span class="t-red"] %%[/span]####note # [div class="t-bleu i"]%%[/div]##: Modèle pour les lignes menu
- template-article = ##featured[1:⭐,0:] # [span]%%[/span] ####title-link## (##id##) ##access!Accès public # [span class="bg-red t-white ph1"]%%[/span]## ##index=noindex # [span class="t-red"] %%[/span]####follow=nofollow # [span class="t-red"] %%[/span]##: Modèle pour les lignes article
- menu-state-show = 1,0,2,-2: liste des états affichés pour les menus : 0:inactif, 1:actif 2:archive, -2:poubelle
- article-state-show = 1,0,2,-2: liste des états affichés pour les articles : 0:inactif, 1:actif 2:archive, -2:poubelle
- article-sort-by = title: tri: title, ordering, created, modified, publish_up, id, hits, random
- article-sort-order = asc: ordre de tri : asc, desc
Format pour les mots-clés
- date-format = %d/%m/%Y: format pour les dates
- date-locale: localisation pour les dates. Par défaut, celle du navigateur client.
Style CSS
- css-head (base-css): style ajouté dans le HEAD de la page
Utilisation
La copie d'écran ci-contre montre l'affichage généré par ce shortcode pour l'administrateur du site.
{up jmenus-metadata=mainmenu }
L'option principale est le nom du ou des menus affichés (séparateur : virgule).
Le résultat montre la liste des items du menu avec une mise en évidence du niveau d'accès, des robots index et follow et de son type (article, blog, alias, séparateur, ...).
Pour les menus donnant accès à un ou plusieurs articles, la liste de ceux-ci est affichée avec le titre cliquable, le niveau d'accès, les dates de début et fin de publication et mise en vedette, ...
Note: cette action utilise pleinement les nouvelles possibilités des mots-clés
Le contenu des lignes de la liste est défini par trois options :
template-menutype
Sa valeur par défaut est :
[h2]##title##[/h2]
- title
- son titre
- id
- son id
- menutype
- son nom interne
- description
- sa description
template-menu
Sa valeur par défaut utilise tous les mots-clés proposés :
##state[0:icon-unpublish t-rouge,1:,-2:icon-trash t-gris] # [span class="%%"] [/span] ##
##home[1:fa fa-home,0:] # [span]%%[/span] ##
##image##
[b]##title-link##[/b]
(id##id####language!* # - %%##)
##access!Accès public # [span class="bg-red t-white ph1"]%%[/span]##
##menutype##
/ ##type##
##publish_up>#now # [mark class="t-vert"] publié le %% [/mark]##
##publish_down>#now # [mark class="t-rouge"] dépublié le %% [/mark]##
##index=noindex # [span class="t-red"] %%[/span]##
##follow=nofollow # [span class="t-red"] %%[/span]##
##note # [div class="t-bleu i"]%%[/div]##
Ne vous inquiétez pas, je vous explique tous cela ci-dessous.
- state
- Indique l'état du lien qui peut être : 1=publié, 0=dépublié, 2=archivé ou -2=poubelle
##state[0:icon-unpublish t-rouge,1:,-2:icon-trash t-gris] # [span class="%%"] [/span] ##
En clair, nous remplaçons la valeur par des icônes font awesome colorées. L'état "publié" considéré comme normal n'est pas indiqué.
L'option state-show (par défaut:
1,0,2,-2
) affiche tous les menus. Vous pouvez réduire sa portée. - home
- pour mettre en évidence le lien de menu "accueil". Cette information (0 ou 1) n'étant pas très graphique, nous utilisons les valeurs de remplacement proposées par la nouvelle version des mots-clés.
##home[1:fa fa-home,0:] # [span class="%%"][/span] ##
Décryptons cette formulation : pour le mot clé home, on remplace la valeur 1 par fa fa-home (une icône Font-Awesome) et 0 par rien. Il suffit ensuite de l'utiliser à la place de %% dans le bloc HTML. Notez l'espace entre le dernier ] et ##. Il sépare l'icône du titre uniquement si besoin.
- image
- La représentation de l'icône définie dans l'onglet "Type de lien" par les champs "Classe d'icône de lien" ou "Image du lien" et "Classe de l'image"
- title
- title-link
- son titre cliquable ou non
- id
- language
- Entre parenthèse, nous affichons l'id du menu précédé du label id ainsi que la langue utilisée pour le menu si elle est différente de toutes (*).
A la différence du label id, les espaces et le tiret devant la langue sont affichés seulement si nécessaire(id##id####language!* # - %%##)
- access
- le niveau d'accès requis pour accéder au contenu.
Comme il est plus judicieux de ne mettre que les niveaux protégés, nous utilisons cette forme de mot-clé.##access!Accès public # [span class="bg-red t-white ph1"]%%[/span]##
En clair, cela donne : on affiche le niveau d'accès uniquement s'il est différent de "Accès public". Un bloc HTML permet de le mettre en forme
- menutype
- le nom unique du menu auquel il est rattaché
- type
- le type de contenu proposé par ce lien de menu
- un simple article. Exemple "article #2: Présentation" pour l'article d'id 2 dont le titre est présentation
- un blog. Exemple "blog category #17: News" pour un blog de la catégorie News d'id 17
- un composant. Exemple "cgisotope page #1" pour la liste des démos propulsée par l'extension CGIsotope de Pascal Leconte
- un alias avec son menu origine
- un sous-titre (heading), un séparateur (separator)
- une URL avec son lien
- dans les autres cas, une information du type "users edit profile" pour l'édition du profil utilisateur
- publish_up
- publish_down
- Pour avoir uniquement les dates de début et fin de publication postérieures à aujourd'hui, j'utilise cette forme de déclaration pour les mots-clés :
##publish_up>#now # [mark class="t-vert"] publié le %% [/mark]##
##publish_down>#now # [mark class="t-rouge"] dépublié le %% [/mark]##Le mot-clé #now est spécifique à cette action, il retourne la date et heure actuelle.
Donc, si la date est plus grande qu'aujourd'hui, nous l'affichons précédée d'un libelléIl est également possible d'utiliser une action php pour retourner la date est heure actuelle :
##publish_up>{up php=echo date('Y-m-d H:i:s');} # [mark class="t-vert"] publié le %% [/mark]##
ou l'action date :
##publish_up>{up date | format=%Y-%m-%d %H:%M} # [mark class="t-vert"] publié le %% [/mark]##
Attention : il est impératif que l'option date-format soit compatible, soit
date-format=%Y-%m-%d %H:%M
- index
- follow
- Par défaut, nous avons ces déclarations similaires de mots-clés pour index et follow :
##index=noindex # [span class="t-red"] %%[/span]## ##follow=nofollow # [span class="t-red"] %%[/span]#
Soit si index est égal à noindex, il est affiché en rouge. Pour une autre valeur, rien n'est affiché.
Pour avoir index en vert et noindex en rouge, il suffit de dupliquer les règles, chacune s'appliquant uniquement à sa valeur, soit :
##index=noindex # [span class="t-red"] %%[/span]## ##index=index # [span class="t-green"] %%[/span]##
J'aurais pu rédiger le mot-clé de cette manière qui retourne la totalité du bloc HTML. Je la trouve moins claire, mais je vous laisse découvrir les possibilités offertes. :
##index[noindex:[span class="t-red"] NO-INDEX[/span],index:[span class="t-green"] INDEX[/span] ##
- note
- La note saisie dans l'onglet principal du menu.
- level
- Ce mot clé retourne le niveau d'imbrication du lien menu
template-article
Sa valeur par défaut utilise tous les mots-clés proposés :
##featured[1:⭐,0:] # [span]%%[/span]##
##title-link## (##id##)
##access!Accès public # [span class="bg-red t-white ph1"]%%[/span]##
##index=noindex # [span class="t-red"] %%[/span]##
##follow=nofollow # [span class="t-red"] %%[/span]##
L'article sur le codage des mots-clés est incontournable pour comprendre les explications ci-dessous.
- id
- l'identifiant de l'article
- title
- title-link
- le titre avec ou sans lien vers l'article
- title-size
- Ce mot clé permet d'alerter en cas de titre trop court ou trop long pour le référencement.
Une idée de codage pour le mot clé :
##title-size>55 # (trop long: [span style="color:red"]%%[/span])## ##title-size<10 # (trop court: [span style="color:orange"]%%[/span])##
Avec le codage ci-dessus, la longueur sera indiquée en rouge pour un titre trop long ou en orange si trop court.
Aucune information si le titre fait entre 10 et 55 caractères.
Tenez compte de la longueur du préfixe si votre site est configuré pour l'afficher - alias
- l'alias de l'article
- state
- Indique l'état du lien qui peut être : 1=publié, 0=dépublié, 2=archivé ou -2=poubelle
##state[0:icon-unpublish t-rouge,1:,-2:icon-trash t-gris,2:icon-archive t-orange] # [span class="%%"] [/span] ##
En clair, nous remplaçons la classe CSS pour afficher des icônes font awesome colorées. L'état "publié" considéré comme normal n'est pas indiqué.
- access
- Le niveau d'accès requis pour lire l'article.
Comme il est plus judicieux de ne mettre que les niveaux protégés, nous utilisons cette forme de mot-clé.##access!Accès public # [span class="bg-red t-white ph1"]%%[/span]##
En clair, cela donne : on affiche le niveau d'accès uniquement s'il est différent de "Accès public". Un bloc HTML permet de le mettre en forme.
- featured
- pour savoir si l'article est en vedette, on utilise ce codage
##featured[1:⭐,0:] # [span]%%[/span]##
La valeur lue dans la table des articles est de 1 si l'article est en vedette. Dans ce cas, on affiche le caractère Unicode étoile. Pour 0, on affiche rien.
- created
- modified
- publish_up
- publish_down
- featured_up
- featured_down
- Les dates de création et de modification de l'article, ainsi que celles de début et fin de publication et mise en vedette.
Pour la mise en forme, l'action propose 2 options : date-format et date-locale
voir le format des dates sur l'aide-mémoire rédacteur
Pour l'affichage conditionnel, inspirez vous de publish_up du template menu
- catid
- catname
- l'id et le nom de la catégorie de l'article
- language
- Le laangage de l'article
- index
- follow
- Les indicateurs pour le référencement.
Voir les explications pour le template menu
- attribs.key
- metadata.key
- images.key
- urls.key
- Il est possible de récupérer la valeur d'une clé d'un des 4 champs JSON d'un article.
L'utilisation des fonctions de mise en forme décrites dans l'article les mots-clés est possible.
Exemple :##attribs.canonical_url # URL canonique:%%##
affichera l'url uniquement si elle est définie.
upactionslist (1) flexauto (1) csv2def (3) jcontent-info (1) div (1) html (1) text-blink (1) tabslide (1) toc (1)
Étant lue directement dans le script de l'action, elle a toujours les dernières informations