web-dev-qa-db-fra.com

Créer un fichier modèle pour le bloc de vues

Il y a beaucoup de choses sur le thème des blocs personnalisés, mais qu'en est-il des blocs créés par des vues?

Mon bloc de vues a l'identifiant: block-views-posts-listing-block,

J'essaie de nombreuses façons de nommer le fichier de modèle, ex: block - block - views-posts-listing-block.tpl.php, mais je ne trouve pas le nom de fichier correct.

18
Codium

Modifiez votre vue. Sous les paramètres "avancés" de vos détails de blocage, cliquez sur "Theme: Information". Une liste d'options de fichiers modèles s'affiche.

par exemple, si votre bloc a un nom "liste de publications", voir les noms possibles répertoriés par l'option "Informations sur le thème":

* Display output: views-view.tpl.php, views-view--posts-listing.tpl.php, views-view--default.tpl.php, views-view--block.tpl.php, views-view--posts-listing--block.tpl.php
* Style output: views-view-unformatted.tpl.php, views-view-unformatted--posts-listing.tpl.php, views-view-unformatted--default.tpl.php, views-view-unformatted--block.tpl.php, views-view-unformatted--posts-listing--block.tpl.php
* Row style output: views-view-fields.tpl.php, views-view-fields--posts-listing.tpl.php, views-view-fields--default.tpl.php, views-view-fields--block.tpl.php, views-view-fields--posts-listing--block.tpl.php
* Field Content: Title (ID: title): views-view-field.tpl.php, views-view-field--title.tpl.php, views-view-field--posts-listing.tpl.php, views-view-field--posts-listing--title.tpl.php, views-view-field--block.tpl.php, views-view-field--block--title.tpl.php, views-view-field--posts-listing--block.tpl.php, views-view-field--posts-listing--block--title.tpl.php 

par exemple : votre bloc a le nom liste des articles, et a le style non formaté =, puis "Informations sur le thème" suggère le nom views-view-unformatted--posts-listing--block.tpl.php (ce n'est qu'un nom parmi plusieurs). vous pouvez copier l'original views-view-unformatted.tpl.php fichier modèle (situé dans/modules/views/theme) dans votre répertoire de thème actuel, et renommez ce fichier avec le nom suggéré: views-view-unformatted--posts-listing--block.tpl.php. puis apportez les modifications à l'intérieur de votre fichier modèle. Si ce modèle ne permet pas d'apporter les modifications souhaitées, recherchez d'autres modèles en fonction de vos besoins.

Au final, si vous ajoutez un nouveau modèle, réanalysez la liste des fichiers de modèle:

Important! Lorsque vous ajoutez, supprimez ou renommez des fichiers de modèle, il est nécessaire de rendre Drupal conscient des modifications en lui faisant analyser les fichiers sur votre système. En cliquant sur le bouton "Rescan template Files", vous effacez Drupal registre de thèmes et ainsi déclencher ce processus de nouvelle analyse. Les modèles en surbrillance (dans votre liste de modèles au-dessus du bouton "Nouvelle analyse des fichiers de modèles") refléteront alors le nouvel état de votre système.

Le module de développement de thème http://drupal.org/project/devel_themer suggéré par Oswald pourrait également être utile pour détecter des modèles possibles pour modifier des éléments spécifiques en fonction de vos critères. Je ne recommande pas ce module activé dans les environnements de production (dans mon cas, même j'ai désactivé le module dans les environnements de test, car il semble y avoir des conflits avec les vues, mais quand cela a été nécessaire, cela a été très utile)

18
cigotete

Pour ceux qui cherchent la réponse dans D7, selon Theme Developer (alias devel_themer), vous pouvez créer un remplacement tpl pour le bloc d'une vue en utilisant la convention:

block - views - {view's machine_name} - block

Par conséquent, dans l'exemple, vous obtiendrez

block - views - post-listing - block.tpl.php

Sans les espaces (je ne pouvais pas modifier cela correctement pour permettre à tout cela d'être en ligne.

18
noTxt

Au bout d'une demi-heure de changement de nom de tpl, voici ma conclusion finale:

block--views--[view-name]-[display-name].tpl.php

[view-name] - La partie [display-name] peut être trouvée comme l'a dit noTxt ou se joindre à un '-' le nom id de la vue et le nom id de l'affichage de la vue, le -bloc à la fin n'est pas correct .

7
TourTools

Dans Drupal 8

enter image description here

Le modèle de champs serait:

vues-vues-champs - [nom-vue] - block-1.html.twig

6
No Sssweat

Les modèles de nom de fichier décrits ci-dessus fonctionnent À MOINS QUE votre nom d'affichage + nom d'affichage soit plus long qu'une certaine quantité de caractères !! J'ai été surpris par cela et je n'ai pas trouvé pourquoi un fichier de modèle se terminant par ...block.tpl.php fonctionnait et l'affichage suivant ...block-1.tpl.php ne fonctionnait pas.

Il s'avère que Views remplace le nom de la machine par un hachage MD5 si le nom est trop long. Si vous voulez être sûr du nom du modèle que vous devez utiliser, ajoutez $conf['theme_debug'] = TRUE; dans votre settings.php, puis regardez la source de la page. si vous trouvez quelque chose comme block--views--d131dd02c5e6eec4.... vous feriez mieux de raccourcir le nom de la machine de la vue (si vous y parvenez ... Ce n'est pas le nom lisible par l'homme). Sinon, vous devez utiliser un fichier de modèle avec ce nom idiot.

voir également

Le nom de la machine du bloc de vues est "haché" (?)

et

https://www.drupal.org/node/346602

1
user3074436

block--views--[view-name]-[display-name].tpl.php doit être remplacé par block--views--[view-name]-[machinename].tpl.php.

Vous trouverez le nom de la machine dans votre section avancée de vues où il est écrit

1
Arindam

Vous êtes sur D7> = 7.33, vous pouvez afficher theme_suggestion directement dans la page sous forme de commentaires HTML en utilisant:

dans settings.php

$conf['theme_debug'] = TRUE;

Voici la documentation complète https://www.drupal.org/docs/7/theming/overriding-themable-output/working-with-template-suggestions

0
SwingingTom

Pour les blocs à l'intérieur des panneaux, la solution fournie par noTxt et autres ne fonctionne pas. La syntaxe serait alors (pas de soulignement!):

panels-pane-block--views-[view-name]-[display-machine-name].tpl.php

Merci à user3074436 d'avoir fourni le paramètre $ conf ['theme_debug'] afin de comprendre ce cas de priorité de thème exceptionnel

0
rawdesk.be

Consultez cette page https://www.drupal.org/node/1089656 , et des informations sur les soulignements que les vues utilisent:

Un autre exemple avec les vues, si vous avez un bloc créé par des vues avec un nom de vue "front_news" et l'ID d'affichage "block_1", alors la suggestion de crochet de thème serait: block - views - front-news-block-1. tpl.php (remarquez, lorsque vous avez des traits de soulignement dans un identifiant d'affichage ou dans un nom de vue - vous devez les transformer en un seul tiret)

0