web-dev-qa-db-fra.com

Comment puis-je utiliser Twig Tweak pour afficher un jeton dans un modèle de formulaire Web dans Drupal 8

J'ai un formulaire Webform (anciennement le module YAMLForm) sur lequel je dois montrer le titre du formulaire. Le modèle que j'utilise est basé sur page.html.twig (à cause de twig suggestion de débogage) page - webform - stories-submission.html.twig.

Selon les jetons répertoriés dans la zone de création de formulaire et dans admin/help/token, j'ai plusieurs jetons disponibles, notamment [webform: title], [webform: url] et [webform: id] pour n'en nommer que quelques-uns.

Quand j'utilise

    {{ drupal_token('webform:title') }}

sur mon modèle, tout ce qui s'imprime sur la page est [webform: title] .

Juste pour m'assurer que je le fais bien, j'ai mis tout le smack suivant au milieu de mon modèle:

    {{ drupal_token('current-date:long') }}
    {{ drupal_token('site:name') }}
    {{ drupal_token('webform:title') }}
    {{ drupal_token('webform:id') }}

Je reçois ceci en retour:

Mercredi 18 janvier 2017 - 09:00 ECLKC [webform: title] [webform: id]

Les deux premiers prouvent que Twig Tweak est une chose merveilleuse, et les deux derniers prouvent que je ne le fais toujours pas correctement.

Quelqu'un peut-il me recommander une prochaine étape?

Si je ne parviens pas à faire fonctionner Tweak, je suppose que je pourrais avoir besoin de me prétraiter une variable? Kint dit que mon titre est là en tant que variable de page:

'page' => array(25)
~
  '#title' => string(29) "Submit your Head Start Story!"

Dans ce cas, je pense que je devrais suivre ce conseil: Comment ajouter une variable pour un modèle Twig dans ma fonction de prétraitement?

Pour résumer:

  1. Puis-je obtenir Twig Tweak pour afficher mon titre pour moi?
  2. Sinon, dois-je utiliser ce conseil pour ajouter une variable à mon prétraitement de modèle?
3
Leraa

Actuellement, il ressemble à Twig Tweak module drupal_token Twig ne prend pas en charge la transmission des $ data) argument, qui contiendrait l'entité webform.

Vous voudrez peut-être créer un problème dans le Twig Tweak module issue queue .

2
jrockowitz

Puis-je obtenir Twig Tweak pour afficher mon titre pour moi?

Les jetons ne fonctionnent pas de cette façon. Les seuls jetons disponibles dans tous les endroits sont les jetons globaux, comme les exemples que vous avez dans votre question. Les jetons spécifiques ne fonctionnent que dans leur propre environnement et il serait impossible pour twig Tweak de fournir tous ces environnements.

Sinon, dois-je utiliser ce conseil pour ajouter une variable à mon prétraitement de modèle?

En D7, le titre était une variable dans le modèle de page. Cela a changé en D8. Voir Le titre de la page est maintenant un bloc

1
4k4