Drupal Context Filter Pfad Problem
am 26.03.2014 - 15:27 Uhr in
Hallo, vlt. bin ich hier ja richtig.
Ich habe ein kleines Problem.
Geht um eine Website, die ein 'Trauerportal abbildet'
Folgendes ist die Ausgangssituation:
- Drupal 7
- Module ( Node Subpages 7.x-2.1, Views 7.x-3.7 , Form block 7.x-1.39, Pathauto 7.x-1.2 ,
- Inhaltstyp Traueranzeige ( Felder Todetag, Geburtsdatum, Name )
- Inhaltstyp Trauerkerze ( Felder Name, Kurztext, Bild )
- Page Traueranzeige
- Sub-Page Trauerkerze ( Sub-Page von Traueranzeige )
- Trauerkerzen(Sub-Page) enthält den View und das Formular ( Node Form Trauerkerze )
- Traueranzeige hat den URL-Alias: /traueranzeige/titel
- Trauerkerze (Sub ) /traueranzeige/titel/trauerkerze
- Trauerkerze /traueranzeige/titel/trauerkerze/kerzen-titel
Das funktioniert soweit auch alles super. nur der View möchte nicht.
Der View erscheint auf /traueranzeige/titel/trauerkerze als Block. Ich würde ihm gerne als Kontextfilter mitgeben das er sich vom Pfad /traueranzeige/titel nimmt. Und das quasi mit den Trauerkerzen abgleicht, und nur die zugehörigen anzeigt.
Leider funktioniert das über Content:Nid nicht, mit den Parametern aus der URL funktioniert es nicht.
Hat vlt. jemand einen Lösungsvorschlag?
- Anmelden oder Registrieren um Kommentare zu schreiben
Moin !Für Argumente (bei
am 09.04.2014 - 09:38 Uhr
Moin !
Für Argumente (bei Views) ist der URL-Alias nicht ausschlaggebend, sondern die eigentliche URL.
Seh ich das richtig, dass "/traueranzeige/titel" ein Node ist, also zb "node/63" ? Und dass dort die View erscheinen soll ?
Wenn ja, hast du einen Kontextfilter angelegt ?
Wenn ja, gibt die View die gewünschten Elemente aus, wenn du eine passende node-id dort ausprobierst ?
Hast Du "entity-reference" benutzt um die Trauerkerzen auf die entsprechende Traueranzeige zu verweisen ?
Fragen über Fragen :-)
xDebug ist Dein Freund - http://zwergnilpferd.de
...
am 09.04.2014 - 10:03 Uhr
Alsoooo...
Um das vlt. etwas verständlicher zu erklären.
Ich habe die Traueranzeige für Lischen Müller /traueranzeige/lischen-mueller
Die eine einzelne node ist mit mehreren Feldern ( Steberdatum, geburtsdatum, Todesanzeige-Bild, Danksagungsanzeige-Bild etc etc )
Diese Node hat subpages, die sich z.T. aus Feldern des Original Nodes ergeben und z.T. aus Views. ( z.B. die 'Anzeigen' Subpage - die die zwei anzeigen Bilder darstellt, und die Subpage 'Kondolenzen' die die Kommentarfunktion nutzt um Kondolenzen einzutragen und auch darzustellen. )
Auf der Seite /traueranzeige/lischen-mueller/trauerkerze - Lade ich mit Hilfe von Subpages einen View der das Node Formular ( vom Inhaltstypen Trauerkerze ) sowie die mit Lischen Müller verknüpften Trauerkerzen anzeigen soll.
Mit Beitrag aus ID funktioniert das ganze nicht, da ich ja dann auf der Haupt-Node /traueranzeige/lischen-mueller sein müsste.
Mir fehlt quasi die Verknüpfung von der Trauerkerze zur Node Lischen-Müller. Beim absenden dieser Trauerkerze erstellt der anonyme Nutzer ja bloß eine neue Node vom Typ 'Trauerkerze' mit dem Path-Alias z.B. /traueranzeige/lischen-mueller/trauerkerze/in-gedenken-an
Habe auch schon daran gedacht es mit Entity Reference zu lösen, habe allerdings noch keinen automatisierten Weg gefunden die Anzeige mit der Trauerkerze zu verknüpfen.
Mir war Entity Reference bis jetzt nur dahingehend einsetzbar wenn ich händisch durch Tagging o.ä. auf eine andere Node verweisen will.
Ich möchte in diesem Fall hier aber das sich die Trauerkerze automatisch mit der Traueranzeige verknüpft und mir der View dann auch die entsprechenden ausgibt.
Vielleicht erklärt dass das ganze nun besser :)
Ja so langsam hab
am 09.04.2014 - 12:21 Uhr
Ja so langsam hab ichs..
Zuerstmal war mit das Modul "subpages" bis dato unbekannt. Dort heißt es aber, dass eine subpage die URL hat: "node/[i]/[subpagename]".
Das heißt, dass die Node-ID das 2. Argument der URL ist.
Wenn du eine Entity-Ref. der Kerze zur Anzeige hättest, müsste es funktionieren.
Mir scheint, dass du die Kerzen an Hand der Path-Aliase finden möchtest, was meines Wissens in Views nicht so möglich ist.
Ich denk mal laut vor mich hin:
Es braucht eine echte Verbindung von Kerze zu Anzeige um eine View zu bauen.
Da Kerze und Anzeige Nodes sind, nehme ich "entity Reference" (das ist quasi Drupal-Standard).
Wenn eine Kerze erzeugt wird, sollte die Ref. automatisch auf die Anzeige zeigen (das hast du ja auch bereits geschrieben), und wenn du hier https://drupal.org/project/entityreference schaust, findest du https://drupal.org/project/entityreference_prepopulate.
In diesem Screencast http://codekarate.com/daily-dose-of-drupal/drupal-7-entity-reference-pre... ab 6:10 sieht man das auch angewendet.
Könnte das der Weg sein ?
Eine View mit Ent.Ref. erstellen wird bestimmt in einigen Screencasts erklärt. Der Lernaufwand lohnt sich, da tut sich dann eine ganze Welt auf ...
Grüße - Kle
xDebug ist Dein Freund - http://zwergnilpferd.de
Danke..
am 15.04.2014 - 12:38 Uhr
Also,
vielen dankf ür die tollen Tipps.
Prinzipiell funktioniert das auch so,
Es läuft quasi momentan auch. Folgendermaßen:
Über den Link auf der Traueranzeige 'Trauerkerze' wird man zur Unterseite Trauerkerze verwiesen, die im Link die NodeID mit gibt, um das automatisiert für die Trauerkerze als Entity Reference einzufügen.
Nun erschließen sich daraus aber zwei neue Problem: über mein zuvor verwendetes Modul Subpage funktioniert das ganze nicht da dieses Modul das Tabmenü für die Subpages automatisiert baut und dementsprechend nicht die Node ID mit in den Link hängt.
Denn momentan kann ich die ID nur folgender maßen übergeben: ...traueranzeige/lieschen-müller/trauerkerze?field_traueranzeige=3
Mein Problem greift also nun weiter oben schon, da ich mich deshalb gerne vom Subpages Modul loskoppeln möchte:
Die dynamische Erstellung und Verlinkung untereinander als Subpages mit Tabmenü.
Redakteur XY erstellt die Traueranzeige ( mit Geburtsdatum, Todesdatum, etc. )
Es wird automatisiert die Traueranzeige erstellt mit ihren Subpages sowie dem passenden Menü.
Ich hab mal ne Mindmap angehangen, wie das quasi gedacht ist. Allerdings führen meine Überlegungen und Ideen einfach nicht zum Ziel und ehrlich gesagt weiß ich auch gerade nicht mehr wo ich noch ansetzen soll.
Hast Du Dich schon einmal mit
am 15.04.2014 - 13:12 Uhr
Hast Du Dich schon einmal mit [do:panels Panels] befaßt? Dort aktivierst Du die Node-Ausgaben über Panels. Darin definierst Du jetzt den Spezialfall Inhaltstyp Trauerfall. Du Wählst ein Layout und packst dann Ihalte auf diese Seite. Das können auch Views sein, denen Panels auch Argumente aus der Basisnode mit übergeben kann. Auch ein eigenes Menü für eine solche Seite läßt sich mittels Views aufbauen. Jede der so aufgerufenen Unterseiten sollte dann aber einen Button "Zurück zur Übersicht" bekommen, sonst wird es etwas kompliziert, auf jede der Unterseiten das passende Menü aufzusetzen. Insgesamt aber machbar.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Genau..
am 15.04.2014 - 13:18 Uhr
Genau daran dachte ich auch, Habe auch schon etwas rumprobiert aber noch nichts konkretes so hinbekommen.
Und das Menü Problem: das Menü soll eben auf jeder Unterseite verfügbar sein und auch erreichbar.. eine Lösung über 'Zurück zur Übersicht' sollte ausgeschlossen sein, da es Nutzerfreundlich sein soll ;)
Mir ist allerdings auch nicht so richtig geläufig wie ich das in Panels anlegen muss das er vom Node die einzelnen Sachen auf seperate Seiten packt? Hast du da vlt. irgendwo ne Anleitung dazu? Denn ich finde dazu leider ncihts :(
Ich glaube, ich habe eine
am 15.04.2014 - 13:29 Uhr
Ich glaube, ich habe eine Lösung für Dich gefunden eine Panels-Seite mit Tabs. Das sollte Deinen Usecase abdecken.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Panels ist die Lösung
am 15.04.2014 - 14:00 Uhr
Es gibt sehr gute Panels-Screencasts (meist Englisch)
zb: http://drupalize.me/series/building-websites-drupal-7-using-panels
Extrem gut war die über 10teilige Serie von NodeOne (die ich grad in der Eile nicht finde).
Grobe Idee eines Panels:
1. Filter: Ich gelte für Nodetyp xy (oder mehrere Nodetypen oder für user mit Rolle r oder oder oder)
2. Ausgabe: In einem gewählten Layout (zb 2 Spalten) kommen Inhalte hinein: Links der Node-Inhalt, rechts ein paar Views.
Nicht so einfach, aber sehr schön: Panels kann Werte an eine View weiterleiten - zB wird ein Panel bei node/8 angezeigt (eine Trauerkerze). Node-8 hat ein Feld "ent. reference" zb auf node-93 (der zugehörige Trauerfall), dann kann die 93 als Argument an die View gegeben werden (zeige alle Kerzen zu diesem Trauerfall).
Stichwort dazu: View-Ansicht vom Typ "Panel-Inhalt"
xDebug ist Dein Freund - http://zwergnilpferd.de
Also..
am 15.04.2014 - 14:21 Uhr
Danke zunächst für die vielen Lösungen und Tipps.
Ich bin quasi nun fast am Ziel dank Euch :D
Was geht:
- Hauptseite mit Tabseiten
- Inhalt auf Tabseiten ( zb. Anzeigen anzeigen )
- View Trauerkerzen anzeigen ( zeige alle Trauerkerzen die als Ent. Ref. die node haben )
- Kondolenzen funktioniert auch
Nun hab ich noch ein problem, und zwar mit den Trauerkerzen.
Ich hatte es anfangs so gelöst das ich mit dem Module Form Block das Formular von der Trauerkerze auf die Seite hole.
kle hatte mir ja den Tipp gegeben es mit Ent. Ref. dann mit der eigtl. Traueranzeige zu verknüpfen.
Ich habe nun versucht:
- via dem Pfad des Panels 'Trauerkerze' die ID mitzugeben die als Ent. Ref. ( & prepopulate ) eingefügt werden soll
Aber vermutlich bin ich dazu doch zu blond *grbl*
Hab ihr dafür vlt. noch nen Tipp? <3 Ich danke Euch schonmal unendlich für die Hinweise und Tipps.
Noch jemand ne Idee?
am 24.04.2014 - 13:10 Uhr
Leider hab ich das Problem immer noch nicht endgültig gelöst.
Mir fehlt noch die Zuordnung der Trauerkerze zum Trauerfall,
mir ist leider noch nichts in die Hände gefallen wenn ich Panel Trauerfall ( mit der Traueranzeige ) mit der Trauerkerze verbinden kann :(