- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ContentCreator-Navigation aus einem Modul heraus bauen
Hallo zusammen,
ich habe die Anforderung, einen Navigationsbaum zu bauen, die nur innerhalb des ContentCreators erscheint und den SiteStore abbildet. Dies funktioniert auch soweit ganz gut. Damit die eigentliche Navigation klappt, wollte ich URLs generieren, die innerhalb des ContentCreators funktionieren.
Der ClienURLAgent.WebeditUrlBuilder liefert mir jedoch URLs, die quasi fรผr von "extern" kommende Redakteure bestimmt sind, da bei einem Klick auf den Link, eine neue Session erzeugt wird und sich der ContentCreator neu initialisiert. Genau das mรถchte ich verhindern. Aber grundsรคtzlich funktioniert die Navigation.
Dann habe ich folgendes probiert: ContentProducer.getUrl(...); hat leider zu keinem positiven Ergebnis gefรผhrt. Die URL funktioniert zwar, jedoch verlasse ich den ContentCreator Kontext.
Ich hatte in meinem externen Modul auch folgendes als String eingetragen $CMS_REF(pageref:"UID_DER_SEITENREFERENZ")$ in der Hoffnung, die richtige URL zu erhalten. Auch hier fliege ich aus dem ContentCreator Kontext heraus, da es sich um eine "normale" Preview-URL handelt.
Die Anzeige wรผrde vermutlich mit einem Skript, welches รผber eine DisplayElementOperation die angeklickte Seitenreferenz anzeigt, funktionieren. Ich will aber kein Skript als "Workaround" dazwischen schalten.
Nochmal eine kurze Zusammenfassung mit Beispielen:
1. WebEdit-URL: Funktioniert, wir haben jedoch eine Neuinitialisierung des ContentCreators (Nachteil: Neue Session) Die URL ist wie folgt aufgebaut: http://hostname.ltd:8000/fs5webedit_13967/?project=13967&store=sitestore&element=16043&language=DE-D...
2. ContentProducer.getUrl(): Kontext des ContentCreators geht verloren. URL: http://hostname.tld:8000/fs5preview/preview/13967/site/DE-DE/current/13970/16043
3. Preview-URL: Kontext des ContentCreators geht verloren. Liefert folgende URL: http://hostname.tld:8000/fs5preview/preview/13967/site/DE-DE/current/13970/16043
4. $CMS_REF()$ Direkt im Template: Liefert folgende URL, die funktioniert: http://hostname.tld:8000/fs5webedit_13967/s=I4Eo/preview/13967/site/DE-DE/current/13970/16043
Eventuell denke ich viel zu kompliziert und es gibt einen einfacheren Weg. Daher wollte ich nachfragen, ob jemand von euch eine solche URL (wie unter Punkt 4) per API gebaut hat. Klar kรถnnte man jetzt per "String manipulation" sich eine solche URL zusammen hacken, aber das wรผrde ich nur ungern in Betracht ziehen.
Ich freue mich รผber jeden Vorschlag.
Schรถne Grรผรe
Sahin
P.S.: Falls es jemanden interessiert: Wir verwenden folgendes Plugin: https://github.com/jonmiles/bootstrap-treeview. Dort initialisieren wir die Komponente mit einem JSON-String, der quasi den SiteStore widerspiegelt. Aus Performancegrรผnden und einer besseren Lesbarkeit, baue ich den JSON-String in einem separaten FirstSpirit-Modul und nicht mit einem BeanShell-Skript.
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Sahin,
warum erzeugst du die Navigation denn nicht mit der "normalen" Navigationsfunktion?
Viele Grรผรe
Christian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Sahin,
warum erzeugst du die Navigation denn nicht mit der "normalen" Navigationsfunktion?
Viele Grรผรe
Christian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Christian,
ganz einfach: Aus Faulheit. Ich versuche diese Funktion zu vermeiden, wo immer es auch geht. Bisher klappte dies auch ganz gut. Ich konnte mich mit der Syntax nicht anfreunden, wenn es um Sonderfรคlle usw. ging. Daher habe ich das Ganze ausgelagert.
Also kann ich via API keine URLs bauen, die innerhalb des ContentCreators funktionieren und auch den bestehenden Kontext erhalten? Falls das so ist, muss ich da wohl oder รผbel durch.
Schรถne Grรผรe
Sahin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Sahin,
warum versuchst du die Funktion zu vermeiden?
Ich glaube, dass es nicht unbedingt sinnvoll ist, eine eigene Funktion zu implementieren, wenn es auch eine Standardfunktion gibt, die die Anforderung abdeckt.
Man kann natรผrlich auch รผber die API die URLs erzeugen. Ich wรผrde nur gerne verstehen, warum das der bessere Weg ist.
Und genauso interessieren uns auch die Schwierigkeiten, die du mit der Navigationsfunktion hast.
Kรถnntest du das bitte noch ein wenig genauer erlรคutern?
Viele Grรผรe
Christian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Christian,
das Problem ist, dass ich mich nie wirklich mit der Syntax und den Parametern beschรคftigt habe. Aus Gewohnheit griff ich bisher lieber zu Java, da ich das meiner Meinung nach schneller umsetzen konnte.
Die Standardfunktion habe ich bisher auch nur einmal genutzt fรผr eine Subnavigation. Die Schwierigkeit bestand damals darin, die ganzen Parameter richtig zu verstehen. Nach einigen Try/Error-Schleifen hat das dann auch geklappt. Da ich das damals mit Java schneller gelรถst hรคtte, bevorzuge ich seitdem die Variante mit Java. So viele Navigationen musste ich bislang auch nicht bauen, daher fehlt mir hier auch die รbung.
Ich werde das mal probieren und dann eventuell von meinen Problem berichten.
Vielen Dank fรผr deine Unterstรผtzung
Sahin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Christian,
einen weiteren Anwendungsfall hรคtte ich noch: Wir haben einen Slider gebaut, der durch eine externe Suche (Solr) befรผllt wird. Die Treffer enthalten Links auf interne Seiten. Fรผr den ContentCreator wรผrden wir dieses vorgehen auch beibehalten, daher speichern wird im Index auch die ContentCreator-URL. Da das bisher auch nicht funktioniert, wie ich mir das ursprรผnglich vorgestellt hatte, mรผssten wir die gesamte Verschlagwortungs- und Sortierlogik im FirstSpirit nachbauen. Das wรผrde ich gerne verhindern, wenn mรถglich.
Konnte bisher nichts in der รถffentlichen API finden. Kannst du mir das Interface nennen, wo diese Methode definiert ist?
Schรถne Grรผรe
Sahin

