URLs von Links via Skript modifizieren
Author: Freecastle
Publication Date: 11/10/2010 15:04
Hallo,
wir haben verschiedene Absatztemplates mit CMS_INPUT_DOM-Elementen und CMS_INPUT_CONTENTAREALIST-Elementen die wiederrum CMS_INPUT_LINKLIST-Elemente enthalten.
Hier gibt es viele externe Links (basierend auf 2-3 Linktemplates) bei denen wir bei manchen nun die URLs modfizieren müssen.
Ein Ansatz hierfür wäre jetzt grob folgendes gewesen:
- Für jedes Absatz-Template via getIncomingReferences() die "Instanzen" davon im PageStore holen.
- Für jeden Absatz entweder das DOM-Editor-Feld (z.B. getData().get("st_myDom")) oder das Contentarealist-Feld auslesen.
- Den enthaltenen Textwert entsprechend parsen (d.h. suchen nach den Links die geändert werden sollen) und die entsprechenden Ersetzungen einfügen.
- Die Änderungen setzen + speichern (vorher natürlich die umgebende Page sperren)
- Die umgebende Page ggfalls wieder freigeben und entsperren
Unschön ist hier natürlich, dass man bei Punkt 3 direkt die FS-Interne Grammatik modifiziert und nicht wie sonst einzelne Attribute über getData und setData modifiziert.
Gibts hierfür noch elegantere bzw. bessere Wege?
-
Author: boesebeck - 11/11/2010 13:28
Hallo,
zu 1) Hier sollten man über die Referenze der jeweiligen Linkvorlage gehen um die menge der Absätze zu begrenzen.
zu 3) Den DOM und die jeweiligen Links kann man mittels API bearbeiten siehe DomNode -> DefaultDomNode bzw das Beispiel für den DOMEditorValue. Nun muss man über die DomNodes iterieren, den Typ abfragen damit nur über die LinkDomNode den jeweiligen Link bearbeitet.
0
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
1 Kommentar