Personnalisation du contenu du modèle en fonction de la disponibilité des objets
Dans votre modèle, vous souhaitez afficher les balises méta par défaut, sauf si une propriété spécifique est définie, dans auquel cas un texte différent doit être affiché. Bien qu'il soit possible d'utiliser une structure anonyme pour définir les valeurs de propriété pour 90 % des gestionnaires, cela introduit une complexité inutile.
Pour obtenir la fonctionnalité souhaitée, vous pouvez utiliser les fonctions not et vide intégrées dans les modèles Go. Voici comment procéder :
{{if not .}} <!-- Output for nil or empty values, including false, 0, and any array, slice, map, or string of length zero --> {{else if eq .MetaValue "some-x"}} <!-- Output for "some-x" property value --> {{else}} <!-- Output for non-empty values other than "some-x" --> {{end}}
Ce code vérifiera d'abord si le .MetaValue est nul ou vide. Si c'est le cas, la première section s'exécutera. Si la MetaValue n'est pas nulle ou vide, la deuxième section vérifiera si elle est égale à « some-x ». Si c'est le cas, la deuxième section s'exécutera. Sinon, la troisième section s'exécutera.
En utilisant cette approche, vous pouvez éviter d'ajouter du code passe-partout aux gestionnaires qui transmettent actuellement zéro et toujours contrôler dynamiquement le contenu affiché dans votre modèle en fonction de la présence ou de la valeur d'une propriété.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!