Les shortcodes

UP permet de donner des instructions en mode code ou wysiwyg dans un article ou un module personnalisé à l'aide de shortcodes.

  • ❶ Shortcodes
  • ❷ Shortcodes annexes
  • ❸ Traduction
  • ❹ BBcode
  • ❺ Options courantes
  • ❻ FAQ
{up action=paramètre principal | option=valeur de l'option}
  • un shortcode "ouvrant" commence toujours par ❴up (altGr+4 suivi du mot up)
  • suivi d'un espace et du nom de l'action à réaliser : action
  • si l'action attend un paramètre principal, on l'indique à la suite du signe égal
  • il est possible d'indiquer plusieurs options en les séparant par le caractère pipe (altGr+6).
  • il se termine toujours par une accolade fermante (altGr+=)

Certaines actions permettent de saisir un contenu de façon habituelle à la suite du shortcode.

On indique la fin de ce contenu par un shortcode "fermant" où le mot up est précédé d'un antislash suivi du nom  de l'action :

{/up action commentaire_optionnel}

  • le shortcode peut être sur plusieurs lignes pour faciliter la lecture
  • le nom des actions et options n'est pas sensible min/maj.
    Le tiret et trait de soulignement ont la même signification.
  • le nom des actions et options peut avoir des synonymes. Ils sont indiqués entre parenthèses dans la documentation des actions
  • une option sans argument est considérée comme égal à vrai ou 1. 0=Faux
  • l'argument d'une option et/ou le contenu peut contenir une autre action UP

Shortcodes comme argument

ils sont évalués en commençant par la fin de l'article et les plus inclus en premier.

{up table-par-lignes} 
  {up csv2table} 
     {up jnews=8  
          | template={id};{title} 
          | new-html={up icon=etoile} 
      }
   {/up csv2table}
{/up table-par-lignes}

Les actions sont autonomes et indépendantes. Cela peut poser des problèmes lorsqu'une action enfant ajoute directement du code dans le head. Dans ce cas, utilisez l'option filter de l'action.

Attention Il n'est pas possible de mettre des shortcodes comme argument d'une option dans le fichier prefs.ini

Les shortcodes séparateurs

ils sont utiliser pour isoler les différentes parties du contenu situé entre le shortcode ouvrant et fermant. Cette méthode est plus visuelle et facilite la saisie dans un éditeur comme TinyMCE ou JCE

{up filter | guest} 
vous êtes invité
{===}
vous êtes identifié
{/up filter}
{up flexauto=2} 
bloc 1
{=== commentaire}
bloc 2
{/up flexauto}

Pour être reconnu, un séparateur doit commencer par une accolade suivi de 3 signes égal et se terminer par une accolade.

Il est permis d'ajouter un commentaire avant l'accolade fermante ❴====== commentaire❵

Shortcodes internes ou secondaires

Utilisés pour fournir des informations optionnelles, ils sont insérés entre les shortcodes ouvrant et fermant. Ils ne commencent pas par up. Voir la documentation des actions concernées.

{up osmap=48.865, 2.30}
	{marker=48.8709, 2.33223 | popup-text=... }
{/up osmap}

Tous les arguments des options peuvent être fournis en plusieurs langues en utilisant une de ces 2 méthodes :


{up hr
 | icon=lang[en=/images/icons/32/gb.png;fr=/images/icons/32/france.png;de=/images/icons/32/germany.png]
 | icon-text=lang[en=Hello;fr=Bonjour;de=Hallo]
}

{up hr
 | icon=/images/icons/32/{up lang | en=gb | fr=france | de=germany}.png}
 | icon-text={up lang |en=Hello | fr=Bonjour | de=Hallo} 
}

La première méthode nécessite que l'argument débute par lang[. On peut l'utiliser dans un fichier prefs.ini

La deuxième est plus simple d'utilisation, mais son usage est limité aux shortcodes.

Si aucune langue ne correspond à celle de l'internaute, c'est la première langue qui sera utilisée.

Le bbcode permet de saisir facilement et en toute sérénité du code HTML dans un éditeur.

Le principe :

on écrit du code HTML en remplaçant certains caractères pour qu'un éditeur wysiwyg ne les interprète pas.

Exemple : un mot en <b>gras</b> affiche le code ou le résultat, alors que un mot en [b]gras[/b] transmet le code à UP 

Vous pouvez utiliser le bbcode de 2 façons :

  • comme argument des options qui l'accepte. Consulter leur documentation.
  • en utilisant l'action bbcode. exemple : {up bbcode=un mot en [b]gras[/b]} affiche un mot en gras

Un petit résumé des règles :

  • par défaut, seules les balises les plus courantes sont prises en charge : br,p,div,span,b,i,u,img,quote,ul,ol,li,code,tt,kbd
  • on utilise le nom des balises HTML en remplaçant les <> par [] 
  • pour afficher des crochets, on ajoute un antislash devant. Exemple : \[
  • pour les actions acceptant la saisie au format CSV,  il faut doubler les guillemets doubles ou utiliser des guillemets simples.
    Exemple : [b class=""t-rouge""]rouge[/b] ou [b class='t-rouge']rouge[/b]
  • les entités HTML neutralisées par les éditeurs Wysiwyg sont restaurées.
    Exemple :dans TynyMCE vous saisissez &nbsp;, il est converti et enregistré sous la forme &amp;nbsp;, UP le restaure

option=1 ou option (sans argument) sont considérées comme vraie, option=0 est considérée comme fausse.

id : identifiant du bloc principal de l'action. UP le crée automatiquement, mais vous pouvez le forcer si vous avez besoin de le réutiliser pour une autre action (ex: addcsshead)

? : affiche un résumé des commandes l'action dans la langue de l'utilisateur ainsi que les prefset définis par le webmaster.

debug : affiche la liste des options avec les valeurs actuelles. Celles par défaut et celles saisies dans le shortcode. En fin de message, vous trouverez la liste des prefset définis pour votre site.

prefset : permet d'appliquer un ensemble d'options par un nom explicite et facile à retenir. Un jeu d'options (prefset) peut aussi être appelé comme argument de l'option principale. {up hr=param} et {up hr | prefset=param} produisent le même résultat.

style, class : propriétés CSS ou nom(s) de classe pour le bloc principal de l'action. UP accepte que l'on mélange des noms de classes et des propriétés CSS : class=color:red;bg-yellow est valide.
Les accolades sont interdites à l'intérieur du shortcode. Pour indiquer la règle CSS a[title]{color:red}, on doit écrire a\[title\][color:red]

xxx-style, xxx-class : propriétés CSS ou nom(s) de classe pour l'élément indiqué (ex: titre-class).

xxx-style-*, xxx-class-* : style et class par défaut pour tous les éléments. exemple : col-class-*=t-bleu toutes les colonnes de la table en bleu. : col-class-6=t-rouge la 6è colonne en rouge. 12 éléments maximum.

css-head : ajoute des règles CSS dans le head de la page. exemple : css-head=body[background:pink] #id a[text-decoration:underline] \[class^="foo"\][color:red] les accolades {} sont remplacées par des crochets []. #id, sera remplacé par l'identifiant de l'action. Pour saisir un crochet, échapper-le avec un antislash.

filter : n'exécute pas l'action si une des conditions est fausse. exemple : filter=motclé:condition;!motclé:condition;... le point d'exclamation inverse le sens de la condition

datemax vrai jusqu'à cette date (AAAAMMJJHHMM) datemin vrai à partir de cette date (AAAAMMJJHHMM) period vrai entre ces dates (si année omise, test pour année courante) (AAAAMMJJHHMM, AAAAMMJJHHMM) day liste des jours autorisés (1,7 -> lundi ou dimanche) month liste des mois autorisés (1,2 -> janvier ou février) hmax vrai jusqu'à cette heure (HHMM) hmin vrai à partir de cette heure (HHMM) hperiod vrai entre ces plages horaires (liste possible) (HHMM-HHMM) guest vrai si internaute non identifié admin vrai si admin user liste des userid autorisés (8,12) username liste des username autorisés (admin,lomart) group liste des usergroup autorisés (8,12) lang liste des langages autorisés. (fr,ca) mobile vrai si affiché sur mobile homepage vrai si page d'accueil server-host vrai si argument figure dans le nom du serveur hôte (ex: server-host:.lomart.fr (un sous-domaine de lomart.fr) server-ip vrai si IP dans la liste (localhost, ::1, 192.168.0.1)

Le shortcode est visible sur la page générée.

  • le plugin n'est pas activé
  • espace entre l'accolade et le mot up
  • l'accolade est en gras. Classique après un copier-coller depuis ce site.

le shortcode ne semble pas fonctionner

  • oubli du slash devant le up du shortcode fermant
  • le nom de l'action dans le shortcode fermant est différent de celui dans le shortcode ouvrant

message : contenu non trouvé

  • le shortcode fermant est incorrect

les options ne sont pas prises en compte

  • deux-points (au lieu du signe égal) comme séparateur paramètre/valeur. UP devrait vous le signaler par un message indiquant qu'il ne connait pas l'option. En cas de doute, penser à ajouter debug dans les options pour savoir ce que UP comprend!

comportement bizarre

  • peut-être un ajout involontaire de balise HTML lors d'un copier-coller ou par l'éditeur (vérifier en mode code). Normalement, UP nettoie les balises inutiles avant de transmettre les infos à l'action.
  • Avec un éditeur wysiwyg, le shortcode ouvrant est dans une balise P et le fermant dans une balise DIV

UP ne reconnait pas cette option : =1

  • vous avez un caractère pipe (alt-gr+6) en trop dans le shortcode