J'ai un fichier de brindille: views-view-unformatted - view-machine-name.html.twig
{#
/**
* @file
* Default theme implementation to display a view of unformatted rows.
*
* Available variables:
* - title: The title of this group of rows. May be empty.
* - rows: A list of the view's row items.
* - attributes: The row's HTML attributes.
* - content: The row's content.
* - view: The view object.
* - default_row_class: A flag indicating whether default classes should be
* used on rows.
*
* @see template_preprocess_views_view_unformatted()
*
* @ingroup themeable
*/
#}
{% if title %}
<h3>{{ title }}</h3>
{% endif %}
{% for row in rows %}
{%
set row_classes = [
default_row_class ? 'views-row',
]
%}
<div{{ row.attributes.addClass(row_classes) }}>
{{ row.content }}
</div>
{% endfor %}
Je veux avoir Title
et body
champ pour être en 1 ligne séparés par des virgules comme:
titre, corps
Comment puis-je obtenir la valeur de «titre» ou «corps» ou tout autre champ dans cette vue lors du débogage?
J'ai utilisé kint (title) et kint (body) mais cela ne fonctionne pas. J'ai aussi fait debug = TRUE;
dans le dossier des services.
Mais je ne peux pas comprendre comment avoir une valeur de champs dans une brindille html non formatée.
J'ai trouvé un moyen d'utiliser Kint, vous pouvez obtenir des valeurs de champ dans views-view - unformatted.html.twig
si vous voulez un champ spécifique
Pour obtenir la valeur des champs de texte
{{row.content['#row']._entity.field machine name[0].value}}
Pour obtenir des champs d'image src
{{file_url(row.content['#row']._entity.field machine name.entity.uri.value)}}
Pour obtenir l'image alt, titre, largeur, hauteur
{{row.content['#row']._entity.field machine name[0].alt/title/width/height}}
Si vous voulez parcourir plusieurs champs
Si vous voulez une valeur brute
la source
J'ai trouvé un moyen d'utiliser kint.
Dans votre views-view-unformatted.html.twig, utilisez le code suivant pour afficher vos champs individuels:
la source
Voici l'exemple de code pour accéder aux valeurs de champ dans le fichier views-view-unformatted.html.twig -
la source
Vous devez créer trois fichiers pour remplacer les vues à l'aide de fichiers de brindilles.
1. vues-vue - foobar.html.twig
2. vues-vue-non formaté - foobar.html.twig
3. vues-vue-champs - foobar.html.twig
Le but des trois fichiers est décrit ci-dessous:
1: Implémentation du thème par défaut pour le modèle de vue principale.
2: implémentation du thème par défaut pour afficher une vue des lignes non formatées.
3: Gabarit de vue par défaut pour afficher tous les champs consécutifs.
Vous devez utiliser "views-view-fields - foobar.html.twig" pour afficher chacun de vos champs sur les vues.
Voici un exemple:
la source
D'après mon expérience, il n'y a pas de moyen facile de saisir dans views-views-unformatted - view-.html.twig une valeur provenant de champs ne faisant pas partie de la structure de l'entité.
Très pour imprimer un
text (plain)
champ. Si pénible d'imprimer unflag_field
,entity_reference
et ainsi de suite.Devant y parvenir sans passer par tout le code de base de la vue, j'ai dû construire ce hack:
Plus de détails ici /drupal//a/288316/13760
la source