Gibt es eine Möglichkeit, die Ausgabe von Knoten auf Taxonomieseiten zu unterdrücken, ohne ein Modul installieren zu müssen (dh nur in template.php)?
Mit einem Taxonomiebegriff gekennzeichnete Knoten werden auf der Seite "Taxonomieindex" angezeigt (z. B. Ihre Website.com/taxonomy/term/[id]).
Neu in Drupal 7 können Taxonomie-Indexseiten Felder enthalten. Wenn Sie jedoch versuchen, die Taxonomieseite mit einer Ansicht zu überschreiben (um beispielsweise zu steuern, wie die Knoten angezeigt werden), werden die Felder auf den Taxonomieindexseiten nicht angezeigt.
Ich habe daher meine Taxonomie-Ansicht als Block auf der Seite Taxonomie-Index platziert. Auf diese Weise kann ich steuern, wie die Knoten angezeigt werden und die Seitenfelder des Taxonomieindex weiterhin angezeigt werden.
Aus diesem Grund gibt die Taxonomieseite immer noch ihre Knoten aus. Ich kann sie ausblenden, indem ich den Teaser der Knoten auf "Ausgeblendet" setze, aber die Knoten werden trotzdem geladen (und daher alle an Knoten angehängten CSS / JQuerys, obwohl die Knoten nicht angezeigt werden). Wie kann ich verhindern, dass die Knoten angezeigt werden, idealerweise innerhalb von template.php?
quelle
Antworten:
Ich weiß, das wollte eine Lösung ohne Modul, aber in Drupal 7 gibt es ein Modul, das genau das tut, was Sie brauchen: Deaktivieren Sie Term Node Listings
Hier können Sie pro Wortschatz auswählen, ob Sie die Ausgabe der Begriffsliste deaktivieren möchten.
quelle
Die Lösung von http://www.wardontheweb.com/remove-node-lists-from-taxonomy-pages-in-drupal-7/ funktioniert für mich gut:
Hinweis: Sie sollten den Cache Ihrer Site zurücksetzen.
quelle
Sie müssen die Knoten aus der Variablen $ page entfernen.
In template.php können Sie dies folgendermaßen tun:
Verwenden Sie in Ihrer page.tpl.php diesen Code:
Dadurch werden die Knoten aus allen Vokabularen und Begriffen entfernt . Wenn Sie sie nur für bestimmte Begriffe oder alle Begriffe aus einem Vokabular entfernen möchten, verwenden Sie
arg(2)
dastid
, um den Begriff zu laden und dann die if-Anweisung zu aktualisieren.quelle
Sie können praktisch alles in template.php tun, aber das wird nicht empfohlen. Bei der Verwendung eines CMS müssen Daten, Verhalten und Erscheinungsbild getrennt werden. Die Datei template.php ist Teil der Themenebene, und Sie sollten sie verwenden, um den visuellen Stil Ihrer Site anzupassen.
Wenn Sie das Verhalten einer Site anpassen möchten (in diesem Fall: Steuern Sie, welche Elemente in einer bestimmten Liste angezeigt werden), müssen Sie das Verhalten ändern, damit Sie Module installieren und konfigurieren. Wenn Sie benutzerdefinierte Inhaltslisten erstellen möchten, ist das Ansichtsmodul genau das, was Sie benötigen.
In Ihrem Fall (wenn ich das richtig verstehe) möchten Sie, dass die Felder des Taxonomiebegriffs über der Liste der mit diesem Begriff gekennzeichneten Knoten angezeigt werden. Sie können dies in Ihrer Ansicht neu erstellen, indem Sie einen Ansichtsblock erstellen, der die Term-ID aus der URL übernimmt und die benötigten Informationen anzeigt.
quelle
Ich habe CSS verwendet, um das Taxonomie-Material auszublenden, aber die Anzeige auf "Benutzerdefiniert" und "Ausblenden" eingestellt, was eine bessere Option zu sein scheint.
quelle