field

Cette action retourne le contenu d'un champ personnalisé (Custom Field) de l'article courant.

Il est possible d'appliquer une mise en forme et de l'utiliser comme argument d'une autre action UP.

Il est beaucoup plus souple à utiliser que le plugin natif de Joomla.

➠ field : Retourne la valeur d'un custom field pour le contenu courant

Cliquer pour lire la documentation

syntaxe
{up field=id_or_name_field} // contenu brut du champ
{up field=id_or_name_field | model=value} // contenu mis en forme du champ
{up field=id_or_name_field | model=label : [b]%id_or_name_field%[/b]} // modèle avec BBCODE
version UP-2.3 license GNU/GPLv3 tags Joomla
  • field: id ou name du champ
  • model: modèle BBCODE avec id ou nom des champs entre signes %
  • separator: sépare les éléments d'un tableau pour rawvalue
  • tag:
  • class: classe(s) pour bloc
  • style: style inline pour bloc
  • css-head (base-css): style ajouté dans le HEAD de la page

    Petit préambule : cet article définit plusieurs custom field qui seront utilisés pour la démo

    type id nom contenu
    color 2 couleur #004499
    imagelist 3 liste-image 3 images : Leopard.jpg,lion.jpg,macaque.jpg

    Un exemple simple

    L'argument principal de cette action est l'ID ou le nom du custom field.

    {up field=2}  ou {up field=couleur} retourne #004499

    Le résultat peut être utilisé comme argument pour une autre action ou tout autre usage.

    {up icon=address | color={up field=couleur} | size=3rem} affiche

    le code HTML <strong style="color: {up field=2};">Un texte bleu</strong> affiche Un texte bleu

     

    Si un champ n'a pas de contenu (rawvalue ou default_value) pour l'article courant, rien ne sera retourné

    Choisir le contenu retourné

    Par défaut, l'action retourne la valeur brute du Custom Field. Il est possible d'indiquer l'élément à récupérer avec l'option model

    {up field=liste-image | model=value} affiche les 3 images du champ liste-image

    Avec une mise en forme

    Résultat pour Liste image qui contient
    Leopard.jpg,lion.jpg,macaque.jpg est :

    les images sont dans le dossier : images/actions-demo/field

    Le résultat ci-dessus est obtenu avec ces shortcodes :

    {up field=liste-image
     | model=[div style="border:2px solid {up field=couleur}" class="p2 tc"]
    Résultat pour %title% qui contient [br][tt]%rawvalue%[/tt] est :
    [br]%value%
    [br]les images sont dans le dossier : images/%fieldparams->directory%
    [/div] }

    model peut contenir du bbcode avec les éléments à récupérer entre 2 signes pourcentage (%).
    Si model contient uniquement un motclé, les signes % ne sont pas obligatoires.

    Dans notre exemple, la div définit un style pour créer une bordure de la couleur du champ couleur. Les classes permettent de centrer et aérer le contenu.
    La fin définit le contenu qui est composé du titre du champ (title), de sa valeur brute (rawvalue) et de sa valeur prête à l'usage (value).
    La dernière ligne montre la possibilité de récupérer les paramètres du type de champ

    Pour information, le même résultat est obtenu avec ce shortcode. L'habillage du bloc est fait avec les options tag, class et style.

    {up field=liste-image
     | tag=div | style=border:2px solid {up field=couleur} | class=p2 tc
     | model=Résultat pour %title% qui contient
    [br][tt]%rawvalue%[/tt] est :
    [br]%value%
    [br]les images sont dans le dossier : [tt]images/%fieldparams->directory%[/tt]
    }

    Je vous laisse analyser le code en vous aidant de la section "Les mots-clés utilisables"

    Comme contenu d'une autre action

    Le slideshow ci-contre est obtenu avec ce shortcode sur une seule ligne :

    {up slider-owl | items=1 | autoplay=5000 | paginationSpeed=2000}{up field=liste-image | model=value}{/up slider-owl}

    Bon, c'est juste pour la démo. Je ne crois pas que c'est la solution la plus pratique !

    Les mots-clés utilisables

    En dehors des mots-clés qui retournent le contenu (value et rawvalue), il s'agit du nom des colonnes de la table #_fields.

    Pour se repérer plus facilement, voici la correspondance entre les mots-clés et la définition d'un type en backend.

    Les mots-clés en vert sont spécifiques au type de champ (ici : un type imagelist)

    Fields elem
    mot-clé type description
    rawvalue texte valeur brute du champ. ex: image.jpg
    value texte la valeur prête pour affichage; ex: <img src='images/directory/image.jpg' class='class'>
    title texte le titre du champ
    label texte Le label du champ à afficher
    default_value texte la valeur affichée par défaut si aucune valeur n'est saisie dans l'onglet 'champs' de l'article
    note texte la note standard de Joomla!
    description texte la description
    Pour mémoire
    id int ID du type de champ
    name texte le nom du champ. Celui que l'on utilise comme argument pour cette action
    context texte dans notre usage, cela sera : com_content.article
    group_id int le groupe auquel est rattaché le champ
    type texte le nom du type selon Joomla
    state 0/1 1 pour publier
    required 0/1 1 si le champ doit toujours être saisi
    language texte la langue
    created_time datetime date et heure de création du type de champ
    created_user_id int id du créateur du type de champ
    modified_time datetime date et heure de modification du type de champ
    modified_by int id de la personne ayant modifié le type de champ
    Les éléments définis par le type de champ.
    vous pouvez récupérer les infos spécifiques à un type de champ dans la colonne 'fieldsparams' de ce type dans la BD
    fieldparams->directory texte le dossier pour les images
    fieldparams->multiple 0/1 1 s'il est possible de sélectionner plusieurs éléments
    fieldparams->image_class texte class qui sera affecté au bloc retourné par 'value'

    Chaque type de champ apporte son lot de fieldparams.

    On les retrouve dans l'élément 'fieldparams' de la table #_fields de la BD.

    Une autre méthode est d'utiliser l'inspecteur de code dans la fenêtre champ (celle affichée au début de cette section). Le nom se trouve à la fin de for="jform_fieldparams_