web-dev-qa-db-fra.com

Comment imprimer un champ individuel dans block.html.twig?

J'ai essayé autant d'options que je peux imaginer, mais aucune d'entre elles n'imprime quoi que ce soit, sauf:

{{ content }}

Cependant, j'ai besoin de champs individuels pour plus de contrôle sur le thème.

J'utilise un type de bloc personnalisé et la fonction suivante.

function THEME_theme_suggestions_block_alter(array &$suggestions, array $variables) {
  // Block suggestions for custom block bundles.
    if (isset($variables['elements']['content']['#block_content'])) {
    array_splice($suggestions, 1, 0, 'block__bundle__' . $variables['elements']['content']['#block_content']->bundle());
  }
}

Le modèle fonctionne bien. Je peux coder en dur du texte aléatoire et il s'affiche. Je ne peux tout simplement pas afficher les valeurs des champs.

Comment imprimer un champ individuel dans block.html.twig?

4
drupalstrap

Si vous avez un champ appelé field_test, vous devriez pouvoir faire comme ça

{{ content.field_test }}

et si vous souhaitez uniquement imprimer la valeur, vous pouvez faire comme:

{{ content.field_test[0] }}

Si vous voulez voir ce qui se trouve à l'intérieur du champ, vous pouvez faire ceci:

{{ kint(content.field_test) }}

Mais seulement si vous avez le module Devel installé et que vous avez Devel Kint activé, vous devriez pouvoir le faire.

J'espère que cela t'aides :)

2
user72672