Block Zuweisung differenzieren
am 04.05.2012 - 10:13 Uhr in
Hi Leute,
ich habe ein Problem dabei einen Block bestimmten Seiten zuzuweisen.
Generell habe ich diesen Block über die Inhaltstypen erstmal jeder Seite zugewiesen. Da ich ihn aber auf der Startseite nicht möchte (weil da einen ähnlichen Block in einer anderen region habe) habe ich bei Seiten ein Häckchen gesetzt bei "Diesen Block nur auf den aufgelisteten Seiten anzeigen" > "Alle Seiten außer den angegebenen" und habe dann "" eingetragen.
Mir ist dann aufgefallen, dass er bei allen Nodes und Seiten angezeigt wird AUßER auf den seiten, welche ich via View erstellt habe. Ich würde diese Seiten ja manuell hinzufügen unter "Seiten" > "Diesen Block nur auf den aufgelisteten Seiten anzeigen" > "Nur die aufgelisteten Seiten" aber dann kann ich ja nicht mehr bestimmen, dass der Block nicht auf der Startseite angezeigt werden soll.
Gibt es da einen Lösungsansatz?
- Anmelden oder Registrieren um Kommentare zu schreiben

Du könntest wählen: alle
am 04.05.2012 - 10:18 Uhr
Du könntest wählen: alle außer den aufgelisteten Seiten und dort
<front>eintragen. Dann erscheint der Block nicht auf der Startseite.Beste Grüße
Werner
Hab ich schon :) Aber...
am 04.05.2012 - 10:44 Uhr
Das hab ich doch schon ^^ aber wie soll ich denn dann noch zusätzlich angeben, dass er es bei den seiten der views anzeigt. Also ich will sagen:
Zeige es nicht bei :
<front>Zeige es bei :
meine_kunstbilder
skulpturen
Lass mich raten, der
am 04.05.2012 - 11:11 Uhr
Lass mich raten, der betreffende Block sitzt im Node-Template und ist damit eh nicht auf deinen View-Pages vorhanden?
Nein, Page.tpl.php
am 04.05.2012 - 11:55 Uhr
Ne gar nicht ^^ der sitzt in der page.tpl.php. Es geht um einen Block zur Newletteranmeldung. Diesen habe ich auf der Startseite aber in einer anderen Region. Die Page.tpl.php ist so aufgebaut, das auf der Startseite ein komplett anderer Aufbau als auf allen unterseiten ist.
EDIT : Nur wie kann ich es denn einem view zuordnen?
Also auf der Startseite habe ich einen Region Newsletter und die Region "Sidebar".
Auf der Startseite soll der Block in der Region Newsletter angezeigt werden, ist auch okay, klappt - Aber in der sidebar soll er eben nicht angezeigt werden.
Also gehe ich zur Konfiguration des Blocks Sidebar. Ich gehe zum Bereich Inhaltstypen und klicke ALLES an. Oben im Bereich Seite gebe ich an, dass er es auf < front > nicht anzeigen soll (weil es da ja in der Newsletter Region angezeigt wird). Jetzt fehlen noch die View Seiten. Da wird die Region angezeigt aber eben nicht der Block. Ich würde ja gerne Unter Seite angeben, dass es genau bei diesen Views noch zusätzlich angezeigt wird, aber das geht ja nicht, weil ich dort angeben muss, dass es bei < front > nicht angezeigt wird - Beides geht (leider) nicht. Und Views als Inhaltstyp kann ich auch nicht zusätzlich angeben - nicht vorhanden.
Mit dem Contextmodul kannst
am 04.05.2012 - 12:06 Uhr
Mit dem Contextmodul kannst du so etwas leicht umsetzen:
http://drupalmodules.com/module/context
Aber da stimmt doch was
am 04.05.2012 - 12:25 Uhr
Aber da stimmt doch was anderes nicht, kann nur aus der Distanz gerade nciht sagen warum.
Wenn ich einem Block sage "überall außer Startseite" und die Region in der er steckt in der page.tpl.php bedingungslos ausgegen wird, dann ist es egal ob ich einen Full-Node anschaue oder die Seiten-Ansicht einer View - der Block wird dargestellt.
Check doch mal anhand eines hädnsich angelegten test-Blocks in der betreffenden Region mit dengleichen Einstellungen, ob die Region tatsächlich auch immer ausgespuckt wird. Schau dir ggf. nochmal den Code in der page.tpl.php an, ob die Region tatsächlich immer ausgegeben wird, wann immer sie Content (wenigstens einen Block) enthält.
Irgendwie muss das System ja auf die "blöde" Idee kommen auf deinen Views die Region / den Block nich tauszugeben. Standard-Verhalten ist das nicht.
Das funktioniert ganz super
am 04.05.2012 - 12:54 Uhr
Das funktioniert ganz super !! Danke sehr !
Alexander Langer schrieb Aber
am 04.05.2012 - 16:11 Uhr
Aber da stimmt doch was anderes nicht, kann nur aus der Distanz gerade nciht sagen warum.
Wenn ich einem Block sage "überall außer Startseite" und die Region in der er steckt in der page.tpl.php bedingungslos ausgegen wird, dann ist es egal ob ich einen Full-Node anschaue oder die Seiten-Ansicht einer View - der Block wird dargestellt.
Check doch mal anhand eines hädnsich angelegten test-Blocks in der betreffenden Region mit dengleichen Einstellungen, ob die Region tatsächlich auch immer ausgespuckt wird. Schau dir ggf. nochmal den Code in der page.tpl.php an, ob die Region tatsächlich immer ausgegeben wird, wann immer sie Content (wenigstens einen Block) enthält.
Irgendwie muss das System ja auf die "blöde" Idee kommen auf deinen Views die Region / den Block nich tauszugeben. Standard-Verhalten ist das nicht.
Nein das stimmt so nicht - ich habe ihm ja gesagt "Überall außer auf der startseite" und bei Inhaltstypen "Nur bei meine_kunst, bilder, skulpturen" - das habe ich aber oben auch geschrieben :) Damit grenze ich das ja wieder ein.
Die Problematik stellt sich
am 06.05.2012 - 21:11 Uhr
Die Problematik stellt sich so meist nicht, da Inhaltstypen i.d.R. eigene Pfad-Aliase haben. Wenn das auch bei dir der Fall ist, kannst du die Inhaltstypeneinschränkung weglassen und einfach die Pfade unter "nur die aufgelisteten Seiten" angeben.
Ansonsten kannst du dich über PHP-Code auch immer nach Herzenslust austoben.