Introduction

Les champs sont utilisés pour afficher des attributs supplémentaires des articles, des contacts ou des utilisateurs. Les données sont saisies dans un formulaire de modification de l'Administration et affichées sur le Site. Un exemple :

Supposons que vous écriviez des articles sur des aspects de la nature, parfois des Fleurs, parfois des Animaux. Un champ que vous pourriez souhaiter enregistrer et afficher pour les deux est le Nom latin, nécessitant un champ texte. Un autre pourrait être l'Habitat : Forêt, Étang, Prairie, etc., nécessitant une liste déroulante. Pour les fleurs, vous pourriez souhaiter enregistrer la Saison de floraison à l'aide de 4 cases à cocher, une pour chaque saison, ou 12 cases à cocher, une pour chaque mois.

Les champs vides dans le formulaire de saisie ne sont pas affichés dans le résultat du Site, vous pourriez donc conserver tous les champs dans une longue liste. Cependant, il est généralement préférable d'utiliser des catégories pour vos Articles, par exemple Fleurs et Animaux. Les champs peuvent être assignés à plusieurs Catégories. Ainsi, les champs Nom latin et Habitat seraient assignés aux deux, mais Saison de floraison ne serait assigné qu'à la catégorie Fleurs.

Si un champ n'est pas assigné à un groupe, il apparaîtra dans le formulaire de modification dans un onglet Champs. Si un champ est assigné à un groupe, il apparaîtra dans un onglet portant ce nom. Ainsi, pour le groupe Fleurs, il semble approprié de créer un groupe de champs nommé Données Fleurs (ou simplement Fleurs, bien qu'utiliser le même nom pour des choses différentes prête à confusion). Et pour les autres champs communs, vous pourriez utiliser un groupe Nature.

Un exemple concret - Notes sur la nature

Pour les articles sur la Nature, la catégorie d'article et les sous-catégories pour chaque branche du monde vivant pourraient apparaître comme dans l'exemple suivant :

Article categories for nature

Quelques caractéristiques évidentes de la Nature à noter :

  • La catégorie Nature est destinée aux articles qui traitent de la nature en général plutôt que de types spécifiques de plantes ou d'animaux.
  • Les sous-catégories sont destinées aux articles plus spécifiques et peuvent nécessiter leurs propres sous-catégories.
  • Toutes les formes de vie ont des noms communs et des noms latins.
  • Les Fleurs et les Arbres ont une Saison de floraison, une Hauteur et une Étendue, mais les Oiseaux et les Mammifères n'en ont pas.
  • Les Oiseaux ont une Envergure et une Longueur, tandis que les Mammifères ont une Hauteur et une Longueur.
  • La Couleur peut être constante ou variée.

Le point ici est qu'il peut être nécessaire de mettre en place des Champs ou des Groupes de champs pour les caractéristiques communes, comme le Nom latin, et des Groupes de champs séparés pour chaque catégorie de nature.

Groupes de champs

Créer des Groupes de champs pour les Articles est très simple :

  • Sélectionner Contenu → Groupes de champs dans le menu de l'Administration
  • Sélectionner le bouton Nouveau dans la barre d'outils.
  • Saisir un Titre approprié.
  • Saisir une Description. Celle-ci apparaît sous le champ dans le formulaire de modification d'article lorsque Afficher/Masquer l'aide est sélectionné.
  • Sélectionner Enregistrer & Fermer dans la barre d'outils.

Content field groups list

Tri

Dans le formulaire de saisie des données de l'article, les groupes de champs apparaîtront dans l'ordre vu dans cette liste. Glisser-déposer les éléments pour changer l'ordre.

Champs

Pour créer un nouveau Champ d'article, sélectionner Contenu → Champs dans le menu de l'Administration et remplir le formulaire. Quelques exemples sont illustrés ci-dessous.

Texte - Nom latin

Notez que dans la capture d'écran ci-dessous, ce champ a été assigné au Groupe de champs Nature et à la catégorie Nature. Cela garantit qu'il apparaît toujours dans les articles de la catégorie Nature et de toute sous-catégorie.

Text field - latin name in nature group

Cases à cocher - Saison de floraison

Des cases à cocher apparaissent dans le formulaire d'édition de l'article pour sélectionner la saison de floraison. Dans l'affichage de l'article, seules celles cochées seront répertoriées. Par exemple, si vous cochez Printemps et Été, le résultat affichera Saison de floraison : Printemps, Été.

Notez que dans cette capture d'écran, le Champ a été assigné au groupe Flowers et à la catégorie Flowers. Cela permet de s'assurer que le champ n'est présent que dans les articles concernant les fleurs.

Checkbox field - flowering season

Couleur - Color

Pour ajouter à la confusion, le nom du type de champ est Color (orthographe américaine) mais le libellé dans la documentation est Colour (orthographe britannique).

Colour field

Le champ Colour est assigné au groupe de champs Nature et à la catégorie Nature car il n'est pas spécifique aux fleurs.

Entier - Rusticité

La rusticité d'une plante peut être représentée par un entier de 1 à 7. Il n'existe pas de champ pour un nombre réel, donc la longueur et la largeur pourraient être des entiers avec une échelle (cm, m ou ft) incluse dans le libellé. Il existe des paramètres Préfixe et Suffixe dans l'onglet Paramètres. S'il n'y a pas de limite supérieure évidente, laissez le champ Dernier : vide.

Hardiness field

La rusticité RHS est une propriété habituellement appliquée aux fleurs !

Il y a un problème avec le champ entier. Il a toujours une valeur et apparaît donc toujours dans le résultat. Vous pouvez contourner ce problème avec une surcharge de template pour Plugins / Integer. Par exemple, vous pourriez utiliser une valeur au-dessus ou en dessous des limites attendues pour omettre le champ du résultat.

Formulaire d'édition d'article

Lorsqu'un formulaire Articles : Ajouter est ouvert, la catégorie par défaut est Non classée et les onglets du formulaire n'incluent pas Fields et Flowers. Sélectionner la catégorie Flowers et le formulaire est rechargé avec ces onglets présents.

Onglet Nature

Bluebell article nature tab

  • Nom latin Il s'agit d'un champ de saisie de texte, il suffit donc de taper le nom latin de la forme de vie que l'article couvre. Cependant, la catégorie Nature couvre la vie en général ainsi que des animaux ou plantes spécifiques. Ce n'est donc pas un champ requis.
  • Color Le champ de sélection de couleur peut accepter soit la saisie au clavier d'une valeur de couleur hexadécimale, soit une couleur sélectionnée à partir de l'outil de sélection de couleur. Le nombre hexadécimal est xrrggbb où rr représente les valeurs de rouge, gg les valeurs de vert et bb les valeurs de bleu. Lors de l'affichage, le site affiche la valeur hexadécimale, ce qui n'est pas très utile !

Onglet Flowers

Bluebell article nature tab

  • Saison de floraison Le champ à cases à cocher - les jacinthes des bois sont des fleurs de printemps bien connues, la sélection d'une seule case à cocher est donc appropriée.
  • Rusticité Le champ entier. Il y a un problème ici - il n'existe aucune méthode disponible pour laisser ce champ vide. Il est donc toujours présent dans le résultat, même pour des articles plus généraux sur les fleurs où cela n'est pas approprié. Il existe une solution de contournement impliquant une surcharge de template.

Résultat sur le site

Jetez un œil au résultat visible sur votre site. Dans cet exemple, un lien de menu article unique a été créé :

Bluebell article site view

La Couleur hex

L'affichage par défaut des données est la valeur de la couleur en hexadécimal, ce qui n'est pas très utile. La solution simple consiste à créer une surcharge de template pour le plugin fields / color, qui est ce qui est montré dans la capture d'écran ci-dessus.

Remplacez simplement cette ligne :

echo htmlentities($value);

par ces lignes :

if (is_array($value)) {
  $list = [];
  foreach ($value as $v) {
    $x = htmlentities($v);
    $list[] = '<span class="ps-5 pe-5" style="background-color: ' . $x . ';">&nbsp</span> ' . $x;
    echo implode(', ', $list);
  }
} else {
    $x = htmlentities($value);
    echo '<span class="ps-5 pe-5" style="background-color: ' . $x . ';">&nbsp</span> ' . $x;
}

Et la valeur hexadécimale sera précédée d'un échantillon affichant la couleur de fond correspondant à la valeur.