In Drupal 7 habe ich eine Ansicht erstellt, die mehrere Felder auflistet. Die Felder werden nach einem anderen Feld gruppiert (der Term-ID des Feldes). Das Markup sieht so aus:
<h3>[Term 1]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
<h3>[Term 2]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
<h3>[Term 3]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
Ich brauche jedoch die Markierung, um so auszusehen:
<div id="term_1">
<h3>[Term 1]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
</div>
<div id="term_2">
<h3>[Term 2]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
</div>
<div id="term_3">
<h3>[Term 3]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
</div>
Ich weiß, dass Sie views-view-unformatted.tpl.php (Style Output) verwenden können, um die Ansicht zu überschreiben und dann einen DIV einzufügen, um die Gruppe zu schließen.
Allerdings muss ich meine Wrapper DIV so sein <div id="term_ID_{number of ID}">
. Die Nummern-ID entspricht dem Begriff, der zum Gruppieren der Felder verwendet wurde. Wenn Sie views-view-unformatted.tpl.php verwenden, können Sie standardmäßig keine Tokens für Term-IDs einfügen.
Jede Hilfe wäre dankbar.
tpl
Datei benennen sollen, lesen Sie die Antwort hier. Drupal.stackexchange.com/questions/11468/… tldr; Klicken Sie auf der Seite zum Bearbeiten Ihrer Ansicht unter Erweitert auf Thema: InformationenVersuchen Sie Format: HTML-Liste. Das wird das Ganze in eine Item-Liste packen. Für meinen Zweck ist es perfekt (eine Liste von Taxonomie-Elementen). Hoffe das hilft.
quelle
Haben Sie die Funktion " Ergebnisse umschreiben" ausprobiert ? Klicken Sie auf das Feld, das Sie bearbeiten möchten, und scrollen Sie nach unten, bis Sie Ergebnisse neu schreiben sehen . Aktivieren Sie das Kontrollkästchen " Ausgabe dieses Felds umschreiben" und passen Sie den HTML-Code nach Bedarf an. Für die Token können Sie die Ersatzmuster verwenden , die im Feld unter dem Texteingabebereich angezeigt werden.
Beachten Sie hinsichtlich der Ersetzungsmuster die Warnung, die in Ansichten angezeigt wird:
Wenn dies nicht ausreicht, fügen Sie ein neues Feld hinzu: Global: Benutzerdefinierter Text . Auf diese Weise können Sie beliebigen HTML- Code hinzufügen, und die Ersetzungsmuster sind auch hier verfügbar. Sie können zwei separate Global: Custom-Textfelder verwenden, um die
<div>
Start- und End-Tags hinzuzufügen .quelle
Global: Custom text
Effekten die Zeile innerhalb der Gruppe, aber nicht außerhalb der Gruppe,In diesen Tagen bin ich auf dasselbe Problem gestoßen. Und was ich neben dem Gruppen-Wrapper brauchte, war eine CSS-Klasse wie first / last per group.
Also habe ich in views-view-unformatted.tpl.php den folgenden PHP-Code hinzugefügt:
Hier der HTML-Teil mit dem Wrapper und den Klassen:
Die Ausgabe wird sein:
Könnte hilfreich sein - genießen
quelle
Ich denke, das größte Rätsel ist, wie die Klasse mit dem Wert von $ title in h3-Tags generiert wird. Ich würde das Transkriptionsmodul und das folgende Snippet ausprobieren:
Dies funktionierte für mich, als ich innerhalb einer Ansicht benannte Anker machen musste.
quelle
Sehr nützlich - ich musste einige Alpha / Omega-Klassen für ein gitterbasiertes Layout hinzufügen und auch einige ungerade, um beides für jede Zeile löschen zu können. Ich habe die Zeile bearbeitet von:
dazu:
Welches gibt die erforderliche Ausgabe.
quelle
Sie benötigen das Transliterationsmodul nicht. Drupal Core hat dafür die Funktion drupal_html_class .
quelle
Ich hatte heute ein ähnliches Problem, benötigte jedoch eine bestimmte Klasse für den HTML-Wrapper. In meinem Fall ist die Ansicht nach Taxonomiebegriffen gruppiert, und wir benötigen für jeden Begriff einen bestimmten Stil, also eine bestimmte Klasse pro Begriff. So haben wir die unformatierte Ansichtsvorlage geändert:
In der Ansicht ist die Anzeige des Taxonomiebegriffs auf "Entitäts-ID anzeigen" eingestellt. Also bekommen wir die ID als Teil des Klassennamens und laden dann den Titel basierend auf derselben ID.
quelle
Für alle, die nicht in den Code eintauchen und mit Vorlagen herumspielen möchten, gibt es eine einfache Möglichkeit, indem Sie die Standard-Div-Klassen mit Fences entfernen und mit Simple Field Formatierer Ihr eigenes Div in das Präfix und Suffix des Felds einfügen . Wenn Sie mehrere Felder haben, fügen Sie einfach das enthaltende Div im Präfix des ersten Felds und im Suffix des letzten Felds hinzu.
Die native Struktur mit den nicht entfernten Präfix- und Suffixbereichen würde also ungefähr so aussehen:
Wenn Sie die Klasse "foo" hinzufügen würden, würde es werden
quelle
Die Antwort von chrisjlee oben erklärt es gut, mit Ausnahme dessen, wie die Vorlagendatei benannt werden soll. Wenn Sie nur eine Ansicht ändern möchten, muss die neue Datei den Computernamen der Ansicht enthalten. Sie finden dies in der URL für die Bearbeitungsseite der Ansicht. In diesem Kommentar zu einem ähnlichen Thema wird dies sehr gut erklärt: https://www.drupal.org/node/1383696#comment-6729128
Ich brauchte eine Klasse um die Zeilen mit dem Wert von $ title, damit ich sie in 2 Spalten rendern konnte. Hier ist der Code:
quelle
Ich bin auf ein ähnliches Problem gestoßen. Ich wollte, dass meine gruppierten Zeilen in einem Bootstrap-Akkordeon angezeigt werden. Ich könnte nicht mit der Arbeit hat Ansichten Bootstrap - Modul .
Kommentar Nr. 4 hat mein Problem gelöst.
So
views-view-unformatted-[my_view_name]-[my_display_name].tpl.php
sieht meine ausDamit das Akkordeon funktioniert, müssen Sie natürlich auch views-view- [my_view_name] - [my_display_name] .tpl.php bearbeiten
Ich habe den Standardcode aus dem Modul zwischen HTML-Kommentaren belassen.
Ich hoffe es hilft.
quelle