Paramètre export_to_template_context
export_to_template_context
est un paramètre qui met les paramètres d'une balise HubL à la disposition de l'environnement du modèle sans restituer réellement la balise HubL. Ce paramètre peut être utilisé avec toutes les balises HubL. Le dictionnaire widget_data
est utilisé pour récupérer ces paramètres, les stocker dans des variables et/ou les intégrer dans la logique de votre modèle.
En rendant les paramètres d'une balise HubL disponibles dans l'environnement du modèle sans restituer réellement la balise HubL, vous pouvez permettre aux utilisateurs de prendre des décisions dans l'éditeur de contenu qui affectent la restitution du modèle. Par exemple, supposons que vous voulez restituer un certain bloc de code uniquement lorsque l'utilisateur donne une valeur à un champ. Cela devient possible avec ce paramètre.
Vous devez d'abord ajouter export_to_template_context=True
à la balise HubL. Vous devez alors utiliser un paramètre widget_data.module.parameter_you_want_to_retreive
.
Vous trouverez ci-dessous quelques applications de ce concept.
Le paramètre export_to_template_context=True
n'est pas pris en charge dans les modules personnalisés, car il n'a pas d'utilité réelle pour eux. En effet, vous n'avez pas besoin d'utiliser export_to_template_context
pour obtenir la valeur d'un module dans un modèle, car vous pouvez déjà y accéder. L'autre aspect est visuel. Si vous devez masquer visuellement le résultat du module, vous pouvez créer le module pour qu'il ne produise rien ou inclure un champ booléen qui active ou désactive le rendu du module.
src
est récupéré avec la balise widget_data
et restitué comme source d'une image d'arrière-plan dans une balise de style.Bien qu'il soit possible de le faire dans des modèles codés, il est généralement préférable de créer un module personnalisé afin d'offrir aux utilisateurs de l'éditeur de page la meilleure expérience possible. Les balises HubL comme celle-ci apparaissent comme des champs individuels, alors que vous pouvez avoir plusieurs champs associés. En utilisant un module personnalisé, tous ses champs s'affichent groupés dans l'éditeur de page.
L'exemple suivant utilise le paramètre export_to_template_context
en association avec un module de choix pour modifier un message de bannière sur une page Carrières. L'utilisateur sélectionne un département via l'interface utilisateur et l'intitulé change sans que l'utilisateur ait à modifier le contenu.
Cette même fonctionnalité peut être reproduite en utilisant un champ de choix dans un module personnalisé. L'interface utilisateur du module personnalisé facilite le choix d'options comportant à la fois une valeur et un libellé.
Si vous souhaitez récupérer un paramètre d'un module ou d'une balise dont le rendu est déjà en cours sur une page, vous pouvez accéder au module dans un dictionnaire intitulé widgets
. Le paramètre export_to_template_context
n'est pas nécessaire. La syntaxe est la suivante :
Étant donné que les différents champs stockent les données dans des formats différents, il est souvent pratique d'utiliser les informations du développeur pour savoir comment accéder aux données spécifiques que vous souhaitez afficher.
Si les modèles de blog sont généralement utilisés pour les blogs, ils peuvent également être réutilisés pour créer divers autres types de listes. Vous pouvez utiliser les techniques décrites ci-dessus pour y parvenir.
Par exemple, vous pouvez créer une liste de presse concernant votre entreprise, mais plutôt que de créer un lien vers les articles, vous souhaitez que la liste renvoie à une autre page.
Vous pouvez voir ce concept en action sur academy.hubspot.com/projects. La page de liste des projets est un modèle de liste de blog, mais chaque article est lié à une page HubSpot ordinaire. Le créateur de contenu spécifie le lien de destination dans l'éditeur.
Dans l'en-tête du code de l'article de blog individuel, vous devez définir un champ de texte. Si vous ne voulez pas que le texte soit restitué sur l'article, vous devez utiliser export_to_template_context
.
Ce champ de texte est modifiable dans chaque article de blog. Ensuite, nous devons définir un lien dans notre liste. Toutefois, comme les données du widget n'existent que dans le contexte de l'article, nous devons utiliser une syntaxe différente pour récupérer les données du widget afin de renseigner le lien. Dans ce cas, nous utiliserons content.widgets.custom_blog_link.body.value
. Bien que le champ widget_data
ne soit pas accessible à la liste de blog, la valeur de ce champ est toujours stockée dans le contexte des widgets du contenu individuel.
Une boucle basique de liste de blog qui restitue ce lien personnalisé avec chaque article est présentée ci-dessous. Si vous utilisez cette technique, veillez à ajouter le sous-répertoire créé automatiquement pour chaque article de blog à votre fichier robots.txt afin d'éviter que ces articles vides ne soient recherchés par Google et les autres robots d'exploration.
Merci d'avoir partagé votre avis.