"Leerer Text" Ausgabe in Views auch bei leeren Feldern statt nur bei leerem Filterergebnis?
am 27.01.2011 - 16:16 Uhr in
Hallo!
Ich habe folgendes (eigentlich banales) Problem mit der Anzeige des "Leeren Text" in Views:
Üblicherweise zeigt ein View ja den Text aus "Leerer Text" an, wenn keine nodes gefunden werden, die man über Argumente, Filter etc. selektiert -> kein passender node gefunden>kein Inhalt>"Leerer Text" wird angezeigt...
In meinem "Problemfall" kann es aber (zusätzlich) sein, daß der passende node (über Argument und Filter) gefunden wird aber alle anzuzeigenden Felder (Darstellung Raster mit Feldern) ohne Inhalt sind. In diesem Fall wird aber nicht der "Leere Text" angezeigt, sondern einfach gar nichts... Das sieht natürlich dämlich aus, weil natürlich der Pane-Titel trotzdem noch angezeigt bleibt und dann nix mehr kommt...
Gibt es für folgende Möglichkeiten eine einfache Lösung?
1. Anzeige des "Leeren Text" auch, wenn der node zwar gem. Argumenten/Filtern da ist, die gewählten darzustellenden Felder aber keinen Inhalt haben
2. Den gesamten View-Pane unterdrücken (nicht für das Panel bereitstellen), wenn die gewählten darzustellenden Felder keinen Inhalt haben
3. Den Titel des View-Pane unterdrücken, wenn kein Inhalt und auch kein "Leerer Text" angezeigt wird
Nur falls sich jemand für den Hintergrund interessiert:
Ich habe den Content-Type mit vielen CCK-Feldern in Themengruppen unterteilt für die der Autor jeweils einzeln über die Veröffentlichung entscheiden kann. Das erfolgt über ein boolean Feld (Veröffentlichen ja/nein). Für die Node-Darstellung verwende ich Panels und habe mit Views für jede der Themengruppen ein separates Pane erstellt und hier natürlich den Filter (neben dem Content-Type) auf das genannte boolean Feld gesetzt.
Ergebnis ist jetzt, dass der "Leere Text" zwar kommt, wenn das boolean Feld auf Veröffentlichen=nein steht, aber nicht(!) wenn das Feld auf Veröffentlichen=ja steht und in der Themengruppe einfach noch keine Inhalte eingegeben wurden. Das ist natürlich blöd, weil der im View-Pane eingestellte Titel dann im Panel erscheint...
- Anmelden oder Registrieren um Kommentare zu schreiben
Also Du kannst auch für
am 30.01.2011 - 22:21 Uhr
Also Du kannst auch für einzelne Felder einen "Leeren Text" anzeigen lassen. Einfach mal das erstbeste Feld aus dem View bearbeiten. Musst Du natürlich "Verstecken, falls leer" ausschalten. Geht jedenfall bei Views 2.
Ansonsten ist es in den allermeisten Fällen so, dass wenn kein "Leerer Text" über die "Grundeinstellungen" angegeben wird, auch der gesamte View nicht angezeigt wird. Kein Titel, kein Zeugs. Zumindest bei normalen Blöcken. Keine Ahnung, ob das bei Panels anders ist.
Stimmt soweit - hilft mir im konkreten Fall aber leider nicht...
am 31.01.2011 - 10:37 Uhr
Hallo und Danke für deine Meldung.
Beide Punkte hatte ich schon in Betracht gezogen.
Den "Trick", den leeren Text einfach für das erste Feld des Views zu definieren, kann ich leider nicht verwenden, da ich hier eine Reihe von 20 Feldern darstelle. Von denen kann auch mal das erste leer und alle anderen gefüllt sein. Dann hätte ich vom ersten Feld den "Leertext" wie z.B. "keine Angaben..." und dann würden ja doch noch lauter Felder kommen....
Auch ist mein Problem ja, dass auch bei komplett leeren Feldern immer noch der Titel (also der Titel des Views, nicht der Felder - die sind ausgeschaltet!) angezeigt wird. Das habe ich bei einem View mit nur einem Feld einfach so gelöst, dass ich die < h2 > Headline als "rewrite output" mit in das erste und einzige Feld geschrieben habe... dann kommt die Überschrift halt nur, wenn das Feld auch einen Inhalt hat (hide if empty für das Feld = ja). Die Headline mit in ein Feld zu schreiben, schlägt natürlich fehl, wenn ich (wie in diesem konkreten Fall) nicht wissen kann, welches das erste gefüllte und damit angezeigte Feld sein wird...
Den Hinweis auf die Blöcke kann ich bestätigen - interessanterweise werden Blöcke tatsächlich nur angezeigt, wenn diese einen Inhalt haben... auch das nutze ich an mehreren Stellen. Für meine View Panes hier greift das allerdings nicht... Selbst wenn ich dem View nicht mal einen Titel gebe und das einzige anzuzeigende Feld leer ist, wird von Panels ein "Platzhalter" eingebaut/angezeigt.
Aber vielleicht muß ich hier auch nochmal in Panels nachsehen, ob ich hier noch eine zusätzliche "hide if empty" Regel einbauen kann.