[XmlParser] Taglib als Attribut eines anderen Taglibs

Im Entwickler-Forum können Implementierungsdetails sowie Alternativen der Umsetzung diskutiert werden. // Here, developers can discuss implementation details of features of their projects.
Antworten
apffan200
Beiträge: 41
Registriert: 15.09.2013, 20:22:40

[XmlParser] Taglib als Attribut eines anderen Taglibs

Beitrag von apffan200 » 08.02.2014, 15:54:36

Hallo Leute,

ich bin gerade bei einem kleinem Problem betreffend des XmlParsers.
Bei einer meiner Tags muss ein Attribut dynamisch über den DocumentController gefüllt werden, weshalb ich den PlaceholderTag dafür verwenden wollte.
Jetzt gibt es im XmlParser aber scheinbar ein Problem, es gibt folgenden Fehler:
[XmlParser::getAttributesFromString()] Error while parsing: " width="50px" height="50px" imagename="<62c39c8e737b17f737e988c93e26b0b4 />". Maximum number of loops ("20") exceeded!
Jetzt wäre eine Zwischenlösung, dass man einfach die dynamischen Daten (es handelt sich nur um ein problematisches Attribut, das dynamisch gefüllt werden muss) einfach in den Content kommt, dann erlaubt man einfach die Verwendung des PlaceHolderTags, transformiert den Content und man hat das Attribut. Der Tag hat eh keine tiefer greifenden Hierachien, weshalb es eigentlich kein Problem darstellt. Dennoch gefällt mir die Lösung nicht, weil zum übergeben von Daten die Attribute geschaffen worden sind.
Jetzt musste ich bisher mich noch nie mit dem Parser beschäftigen und habe auch schon gelesen, dass der Parser "eine Wissenschaft für sich" sei.
Daher meine Frage an euch: gibt es noch eine andere, sauberere Möglichkeit, über Platzhalter zu befüllende Tags fehlerfrei zu füllen??

LG Maximilian

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: [XmlParser] Taglib als Attribut eines anderen Taglibs

Beitrag von dr.e. » 08.02.2014, 16:30:29

Hallo Maximilian,

Tag-Attribute dürfen keine weiteren Tag-Definitionen enthalten, sonst hast du kein wohlgeformtes XML mehr. Aus selbigem Grund kann der Parser damit nicht umgehen.

Um ein Attribut eines Tags im Controller zu füllen, kannst du dir über $this->getDocument()->getChildNode(...) die Instanz holen und per setAttribute() dynamisch befüllen. So passiert das im Hintergrund auch bei einem setPlaceHolder().
Jetzt musste ich bisher mich noch nie mit dem Parser beschäftigen und habe auch schon gelesen, dass der Parser "eine Wissenschaft für sich" sei.
Das ist er in der Tat. :D Ich sitze auch gerade an einer neuen Herausforderung für 2.2 und das auch für mich manchmal echt nicht einfach. :roll: :D
Viele Grüße,
Christian

apffan200
Beiträge: 41
Registriert: 15.09.2013, 20:22:40

Re: [XmlParser] Taglib als Attribut eines anderen Taglibs

Beitrag von apffan200 » 08.02.2014, 16:48:18

Hallo Christian,

vielen Dank für deine Antwort. Vielen Dank für deine Hilfe, das ist wahrscheinlich die beste Lösunng.
Das ist er in der Tat. :D Ich sitze auch gerade an einer neuen Herausforderung für 2.2 und das auch für mich manchmal echt nicht einfach
Ok, dann wünsch ich dir viel Glück und gutes Gelingen

LG Maximilian

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste