Wie kann man schnell eine Ansicht thematisieren?

85

Ich habe eine Ansicht mit den Modulen CCK und View 2 definiert. Ich möchte schnell eine Vorlage definieren, die für diese Ansicht spezifisch ist. Gibt es dazu ein Tutorial oder Informationen? Welche Dateien muss ich ändern?


Hier sind meine Ergebnisse: (Bearbeitet)

Tatsächlich gibt es zwei Möglichkeiten, eine Ansicht zu thematisieren: den " Feld " -Weg und den " Knoten " -Weg. In "Ansicht bearbeiten" können Sie " Row style: Node" oder " Row style: Fields" auswählen .

  • Mit der Methode " Node " können Sie eine node-contentname.tpl.php erstellen, die für jeden Knoten in der Ansicht aufgerufen wird. Sie haben Zugriff auf Ihre cck-Feldwerte mit $ field_name [0] ['value']. (edit2) Sie können node-view-viewname.tpl.php verwenden, das nur für jeden in dieser Ansicht angezeigten Knoten aufgerufen wird.
  • Mit der Methode " Feld " fügen Sie für jedes Feld, das Sie einzeln gestalten möchten, ein Ansichten-Ansichtsfeld - viewname - Feldname-value.tpl.php hinzu.

Dank früherer Antworten habe ich die folgenden Tools verwendet:

Pierre-Jean Coudert
quelle
1
Es ist Ansichten-Ansicht-Felder - Viewname - Feldname-Wert.tpl.php nicht Ansichten-Ansicht-Feld - Viewname - Feldname-Wert.tpl.php Sie vermissen ein "s" auf dem erstes Feld
Alex Borsody
In welchem ​​Ordner fügen Sie dies hinzu?
Talon
Wenn Sie auf der Dokumentationsseite für Ansichten gesucht hätten, hätten Sie alle diese Informationen gefunden!
Bhavin Joshi

Antworten:

52

Tatsächlich gibt es zwei Möglichkeiten, eine Ansicht zu thematisieren: den " Feld " -Weg und den " Knoten " -Weg. In "Ansicht bearbeiten" können Sie " Row style: Node" oder " Row style: Fields" auswählen .

  • mit dem " Node Methode " können Sie einen Knoten-Inhaltsnamen.tpl.php erstellen, der für jeden Knoten in der Ansicht aufgerufen wird. Sie haben Zugriff auf Ihre cck-Feldwerte mit $ field_name [0] ['value']
  • Mit der Methode " Feld " fügen Sie für jedes Feld, das Sie einzeln gestalten möchten, ein Ansichten-Ansichtsfeld - viewname - Feldname-value.tpl.php hinzu.

Dank früherer Antworten habe ich die folgenden Tools verwendet:

Pierre-Jean Coudert
quelle
Bitte beachten Sie, dass auf die erste Art und Weise, die "Knoten" -Methode, die von Ihnen erstellte Vorlage wahrscheinlich (abhängig von den Themeneinstellungen) für den Knoten selbst verwendet wird (auch außerhalb des Knotens angezeigt).
Strae
Bitte beachten Sie, dass die Links in dieser Antwort jetzt 404 sind.
Dewayne
22

Eine schnelle Möglichkeit, die Vorlagendateien zu finden, die Sie für eine Ansicht in Views 2.0 erstellen und ändern können, ist:

  1. Bearbeiten Sie die Ansicht
  2. Wählen Sie den Stil (zB Seite, Block, Standard)
  3. Klicken Sie im Block "Grundeinstellungen" auf "Thema: Informationen", um alle verschiedenen Vorlagen anzuzeigen, die Sie ändern können.
calebbrown
quelle
16

Die "Theme Developer" -Funktion des Devel-Moduls ist praktisch, um zu sehen, nach welchen Vorlagendateien Drupal sucht, wenn es um das Thema geht. Ein Beispiel finden Sie im Screenshot auf dieser Seite.

Garrett Albright
quelle
10

Sie sollten auch Semantic Views überprüfen . Für einfache Viewing-Themen ist es sehr praktisch.

David Eads
quelle
7

Ein Tipp:

Sie werden wahrscheinlich eine Reihe von Ansichten haben, die eine ähnliche Formatierung erfordern. Das Erstellen und Kopieren von Vorlagen für jede dieser Ansichten erzeugt einen Albtraum der Code-Verzweigung. Wenn Sie aufgefordert werden, das gesamte Erscheinungsbild der Site zu ändern (was bedeutet, dass Sie die Anzeige jeder dieser auf diese Weise formatierten Ansichten ändern müssen), werden Sie müssen zurückgehen und diese einzeln bearbeiten.

Anstatt die Ansichtsoberfläche zu verwenden, um neue Vorlagen für Ansichten auszuwählen, füge ich manchmal einfach Code-Verzweigungen in eine einzelne Ansichtsdatei ein. ZB für eine Seite in habe views-view-fields.tpl.phpich:

if($view->name == 'articleList' || $view->name == 'frontList' 
|| $view->name == 'archiveList') {
/* field formatting code */
} else {
/* the default code running here */
}

Dadurch werden die Felder so geändert, wie ich es nur für diese Familie von Views = articleList, frontList und archiveList möchte - und für andere Ansichten, die diese Vorlage verwenden, wird der Code ausgeführt, den man normalerweise in dieser Vorlage findet. Wenn der Kunde fragt: "Hey, könnten Sie diese Seiten, auf denen die Archive und die Liste auf der Startseite angezeigt werden, so gestalten, dass sie eher wie (...) aussehen?", Ist es einfach eine Frage meiner Eröffnung und Bearbeitung dieser einen Datei anstelle von drei verschiedene Dateien. Die Wartung wird viel schneller und freundlicher.

James
quelle
6

für mich funktioniert block-views-myViewName-myBlockId.tpl.php

svassr
quelle
4

Meine Verknüpfungsoption.

  1. Gehen Sie zur Datei theme.inc im Ordner YOUR_MODULE_DIR/ views / theme / .

  2. _views_theme_functionsDrucken Sie in der Funktion die Variable $ themes aus oder setzen Sie einen Haltepunkt in die letzte Zeile der Funktion, um den Inhalt der Variablen anzuzeigen.

Konvertieren Sie einfach views_viewin Ansichten-Ansicht und __ in - und fügen Sie Ihre Vorlagenerweiterung hinzu, um den gewünschten Dateinamen zu erhalten.

Wenn beispielsweise ein Element des Arrays $ themes lautet views_view__test_view__block (wobei test_viewder Name Ihrer Ansicht lautet), lautet der Name der Vorlagendatei views-view - test_view - block.tpl.php .

userp2m3h
quelle
2

Meiner Meinung nach ist die einfachste Möglichkeit zu entscheiden, welche Vorlagendatei zum Thematisieren der Ansichten verwendet werden soll: 1) Klicken Sie auf admin / build / views / edit / ViewName -> Grundeinstellungen -> Thema

Wenn Sie darauf klicken, werden alle möglichen Vorlagendateien aufgelistet. Markierte Dateien (Dateinamen in Fettdruck) geben an, welche Vorlagendatei verwendet wird, um welchen Teil der Ansicht zu thematisieren. Nachdem Sie die erforderlichen Änderungen in die entsprechende Ansichtsvorlagendatei RESCAN aufgenommen haben, sollte nun die geänderte Vorlagendatei hervorgehoben angezeigt werden.

Sbhambry
quelle
1

Wenn Sie eine schnelle Drupal-Entwicklung mit viel Drag & Drop durchführen möchten, ist das Display Suite-Modul def. ist etwas, das Sie verwenden sollten: http://drupal.org/project/ds

Karel
quelle
0

Meiner Meinung nach gibt es zwei Möglichkeiten:

Programmatischer Weg:

  1. Gehen Sie zur Bearbeitungsansicht.
  2. Wählen Sie den Seiten- / Blockstil.
  3. Gehen Sie zu "Grundeinstellungen" und klicken Sie auf "Thema: Informationen", um alle verschiedenen Vorlagen anzuzeigen, die Sie ändern können.
  4. Fügen Sie das HTML hinzu, das Sie thematisieren möchten, und drucken Sie die Variablen der Ansicht, wo immer dies erforderlich ist

Konfigurationsaktualisierung: Verwenden der Display SuiteDie Display-Suite bietet uns die Möglichkeit, Ihre Beschriftungen inline oder höher zu platzieren und sogar hinzuzufügen, um sie auszublenden. Zu jedem Element der Ansicht können auch benutzerdefinierte Klassen hinzugefügt werden. Zu den erweiterten Optionen gehören:

  • Exportable
  • Fügen Sie Ihre eigenen benutzerdefinierten Felder im Backend oder in Ihrem Code hinzu
  • Fügen Sie Ihrem Thema benutzerdefinierte Layouts hinzu (nur D7)
  • Ändern Sie Beschriftungen, fügen Sie Stile hinzu oder überschreiben Sie Feldeinstellungen (semantische Felder).
  • Vollständige Integration mit Ansichten und Bedienfeldern
  • Erweitern Sie die Leistung Ihrer Layouts, indem Sie Field Group installieren
  • Optimale Leistung durch Integration von Objektcache (D6) oder Entitätscache (D7)
Blankovollmacht
quelle