Frage

Es gibt viel mit thematischen benutzerdefinierten Blöcken, aber was ist mit Blöcken, die von Ansichten erstellt wurden?

Mein Ansichten Block hat ID: Block-Views-Post-Listing-Block,

Ich versuche viele Möglichkeiten, um Vorlagendatei, z. B. Block-Block-Views-Posts-Listing-Block.tpl.php, zu nennen, aber ich kann keinen korrekten Dateinamen finden.

War es hilfreich?

Lösung

Bearbeiten Sie Ihre Ansicht. und unter den "erweiterten" Einstellungen Ihrer Blockdetails klicken Sie auf "Theme: Information". Eine Liste der Optionen von Vorlagendateien wird angezeigt.

Wenn Ihr Block beispielsweise einen Namen "Beiträge auflistet" enthält, siehe mögliche Namen der Option "Themeninformationen":

* 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 

zum Beispiel: Ihr Block hat den Namen Beiträge auflistet, und hat Stil unformatiert, dann schlagen "Themeninformationen" den Namen vor views-view-unformatted--posts-listing--block.tpl.php (Dies ist nur einer von mehreren Namen). Sie können das Original kopieren views-view-unformatted.tpl.php Vorlagendatei (befindet sich in/modules/Ansichten/Thema) in Ihr aktuelles Themenverzeichnis und benennen Sie diese Datei mit dem vorgeschlagenen Namen um:views-view-unformatted--posts-listing--block.tpl.php. Nehmen Sie anschließend die Änderungen in Ihrer Vorlagendatei vor. Wenn diese Vorlage Ihre gewünschten Änderungen nicht zulässt, suchen Sie nach anderen Vorlagen nach Ihren Anforderungen.

Wenn Sie am Ende eine neue Vorlage hinzufügen, ist die Liste der Rescan -Vorlagendateien:

Wichtig! Beim Hinzufügen, Entfernen oder Umbenennen von Vorlagendateien müssen Drupal über die Änderungen aufmerksam gemacht werden, indem sie die Dateien in Ihrem System wiederherstellen. Durch Klicken auf die Schaltfläche auf "Rescan -Vorlagendateien" klicken Sie Drupal -Themenregistrierung und lösen dadurch diesen Rescanning -Prozess aus. Die hervorgehobenen Vorlagen (in Ihrer Vorlagenliste oben "Rescan -Vorlagendateien") spiegelt dann den neuen Status Ihres Systems wider.

Auch Themenentwicklermodul http://drupal.org/project/devel_themer Vorgeschlagen von Oswald könnte nützlich sein, um mögliche Vorlagen zu erkennen, um bestimmte Elemente gemäß Ihren Kriterien zu ändern. Ich empfehle dieses Modul nicht in Produktionsumgebungen (in meinem Fall habe ich das Modul in Testumgebungen deaktiviert, weil es anscheinend Konflikte mit Ansichten zu haben scheint, aber wenn es notwendig war, war sehr nützlich)

Andere Tipps

Für diejenigen, die die Antwort in D7 suchen, können Sie mit der Konvention eine TPL -Überschreibung für den Block einer Ansicht für den Block einer Ansicht erstellen:

Block-Ansicht-{Ansichts machine_name}-Block

Daher werden Sie im Beispiel geben, dass Sie Sie erhalten

Block-Ansicht- Nachlagerung -Block.tpl.php

Ohne die Räume (ich konnte dies nicht ordnungsgemäß bearbeiten, damit alles inline sein kann.

Am Ende einer halben Stunde, die TPL -Namen geändert hat, hier ist meine endgültige Schlussfolgerung:

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

Ansichtsname]-[Anzeigename] Teil kann wie Notxt gesagt oder mit einem '-' den ID-Namen der Ansicht und des ID-Namens der Ansichtsanzeige angezeigt werden, der-Block am Ende ist nicht korrekt .

In Drupal 8

enter image description here

Die Fields -Vorlage wäre:

Views-View-Felder-[Ansicht]-block-1.html.twig

block--views--[view-name]-[display-name].tpl.php sollte geändert werden aufblock--views--[view-name]-[machinename].tpl.php.

Sie finden den Maschinennamen aus Ihren Ansichten erweitertem Abschnitt, in dem er andere geschrieben ist

Die oben beschriebenen Dateinamenmuster funktionieren, es sei denn, Ihr Ansichtsname + Anzeigename ist länger als eine bestimmte Menge von Zeichen !! Ich wurde davon gefangen und konnte nicht finden, warum eine Vorlagendatei in ...block.tpl.php arbeitete und die folgende Anzeige ...block-1.tpl.php hat nicht gearbeitet.

Es stellt sich heraus, dass Ansichten den Maschinennamen durch einen MD5 -Hash ersetzt, wenn der Name zu lang ist. Wenn Sie sicher sein möchten, dass der Vorlagenname, den Sie verwenden sollten, hinzufügen möchten $conf['theme_debug'] = TRUE; In Ihren Einstellungen.Php und dann die Seitenquelle ansehen. Wenn Sie so etwas finden wie block--views--d131dd02c5e6eec4.... Sie sollten den Maschinennamen der Ansicht besser verkürzen (wenn Sie dies schaffen ... es ist nicht der menschlich-lesbare Name). Oder Sie müssen eine Vorlagendatei mit diesem albernen Namen verwenden.

siehe auch

Der Maschinename von Block ist "Hashed" (?)

und

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

Überprüfen Sie diese Seite https://www.drupal.org/node/1089656, und Informationen zu Unterstrichen, die Ansichten verwendet:

Auch ein weiteres Beispiel mit Ansichten, wenn Sie einen Block erstellt haben, der von Ansichten mit einem Ansichtsnamen "Front_News" und Anzeige-ID "Block_1" angezeigt wird, wäre der Themen-Hook-Vorschlag: Block-Views-Front-News-Block-1. TPL.PHP (Beachten Sie, wenn Sie in einer Anzeige -ID oder in einem Ansichtsnamen unterstrichen - müssen Sie sie in einen einzelnen Armaturenbrett verwandeln)

Bei Blöcken innerhalb von Panel -Scheiben funktioniert die von Notxt und andere bereitgestellte Lösung nicht. Die Syntax wäre dann (keine Unterstriche!):

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

Vielen Dank an User3074436 für die Bereitstellung der Einstellung $ conf ['themen_debug'], um diesen außergewöhnlichen Thema übergeordnet zu haben

Sie sind auf D7> = 7.33 Sie können themen_sugestion direkt auf der Seite als HTML -Kommentare anstellen.

in settings.php

$conf['theme_debug'] = TRUE;

Hier ist die vollständige Dokumentationhttps://www.drupal.org/docs/7/theming/overriding-themable output/working-with-template-sugestions

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit drupal.stackexchange
scroll top