Ansichten 3 und HTML5 - Wie überschreibe ich die Ausgabe für das Markup?


7

Ich habe eine Ansicht erstellt, die Blog-Beiträge basierend auf einem bestimmten Taxonomiebegriff auswählt und eine Art Ansicht "Empfohlene Beiträge" erstellt, die ich auf der Startseite meiner Website eingebettet habe. Das Problem, auf das ich immer wieder stoße, ist der Versuch, die Ansicht so auszugeben, dass jeder Beitrag mit einem Teil des neuen HTML-Codes semantisch markiert wird. Ich habe versucht, die integrierte Ausgabe dieses Felds neu zu schreiben, aber sie ignoriert die von mir verwendeten Tags (dh Artikel, Kopfzeile, Fußzeile) und verpackt alles in divs, selbst wenn ich die Platzhalter-Tags abwähle.

Sollte ich eine überschreibende Ansicht erstellen - view_name.tpl.php, um die Ausgabe jedes Beitrags so umzuschreiben, wie sie in der Ansicht angezeigt wird, oder muss ich Vorverarbeitungs-Hooks in der template.php verwenden, um die Ausgabe zu beeinflussen?

Ich sollte sagen, dass ich grundlegende Erfahrung mit dem Schreiben von PHP- und Preprocess-Hooks habe, aber ich kann alle Ressourcen, die ich brauche, um mich nach links zu bewegen, wenn ich in die richtige Richtung zeige.

Antworten:


10

Sie werden feststellen, dass in Ihrer Ansicht unter dem Block "Stileinstellungen" ein Link für Thema: Informationen vorhanden ist. Es werden alle Themendateien angezeigt, die für Ihre Ansicht aufgerufen werden. Sie können generische bis sehr detaillierte Themendateien verwenden, die nur für die Anzeige Ihrer Ansichten verwendet werden.

Der erste Dateiname in der Anzeigeausgabe lautet views-view.tpl.php. Dies gilt für alle Ansichten und Anzeigen. Der nächste in der Liste ist Ansichten-Ansicht - [Ansichtsname] .tpl.php. Dies gilt nur für Ihre Ansicht. Es wird so lange gebohrt, bis es so spezifisch wie möglich wird. Ansichten-Ansicht - [Name der Ansicht] - default.tpl.php ist die letzte in der Liste und gilt nur für die Standardanzeige der Ansicht. Durch Klicken auf den Link Ausgabe anzeigen: wird der von den Ansichten verwendete Vorlagencode angezeigt. Kopieren Sie einfach eine neue Vorlagendatei mit einem der in der Liste vorgeschlagenen. Es ist normalerweise am besten, so genau wie möglich zu sein. Die Vorlagendatei kann an einer beliebigen Stelle in Ihrem Thema abgelegt werden, und Ansichten nehmen sie auf, solange Sie die Vorlagendateien in den Themeninformationen erneut scannen und die Ansicht speichern. Es gibt Ansichtsvorlagen, Zeilenvorlagen, Feldvorlagen und feldspezifische Vorlagen.

Sobald Sie gelernt haben, wie Sie Ansichtsvorlagendateien bearbeiten, eröffnen sich Ihnen wirklich Gestaltungsmöglichkeiten.


Fantastisch! Vielen Dank für den Hinweis; Dies wird definitiv mehr Designkontrolle ermöglichen.
PendragonDev

Betrachten Sie das HTML5-Tools-Modul, wie in diesem Handbuch zu Drupal HTML5 erwähnt . Es macht mehr HTML5-Elemente in Ansichten verfügbar.
Christopher Cooper

2

Fences sieht aus wie ein großartiges Modul (für Drupal 7) zur Steuerung des Ausgabemarkups von Ansichten:

Projektseite:

http://drupal.org/project/fences

Von der Projektseite:

"Fences ist ein benutzerfreundliches Tool zum Angeben eines HTML-Elements für jedes Feld. Diese Elementauswahl wird überall dort verbreitet, wo das Feld verwendet wird, z. B. Teaser, RSS-Feeds und Ansichten. Sie müssen nicht ständig neu konfigurieren jedes Mal, wenn Sie das Feld anzeigen, immer wieder dasselbe HTML-Element. "

Ich mag dieses Bit besonders (ideal zum Debuggen von Ausgaben):

"Das Beste ist, dass Fences ein schlankeres Markup bietet als der Drupal 7-Kern ! Und auch die überflüssigen Klassen loswerden kann !"

Das ist auch schön - Wiederholung der Arbeit reduzieren:

"Diese Art von Tool wird benötigt, um eine semantische HTML5-Ausgabe von Drupal zu erstellen. Ohne ein solches Tool müssen Sie in Ihrem Design für jedes Feld benutzerdefinierte Feldvorlagen erstellen. :("

Sie haben auch die beliebten Alternativen in Betracht gezogen:

Ähnliche Projekte umfassen semantische Felder , Feldverpackungen und ein Tool in den Extras der Display Suite . Wir glauben jedoch, dass dieser Ansatz Morefasterbetter ™ ist.

Dank an Drupal-Benutzer rhache für die Erwähnung des Fences Drupal-Moduls in seinem Kommentar zu dieser Frage. Ist das Modul Semantic Views durch Views 3 veraltet?


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.