Hallo zusammen,
habe folgendes Snippet:
temp.liste = COA
temp.liste.10 < plugin.meineListe
temp.liste.10{
stdWrap {
prepend = TEXT
prepend {
value = Dieser Beitrag ist den folgenden Themengruppen zugeordnet
lang.en = This article is assigned to the following groups
wrap = |
}
ifEmpty = Dieser Beitrag ist in keinen Gruppen.
ifEmpty.lang.en = This article is not assigned to any group.
wrap = <p>|</p>
}
Das ifEmpty wird mir im Falle eines leeren Rückgabewerts aus der Extension anstatt der erwarteten liste ausgegeben, allerdings wird trotzdem das prepend mit ausgegeben, was aber sinnfrei ist, wie kann ich verhindern, dass im falle eines leeren rückgabewerts das Prepend ausgegeben wird?
Danke für jede Hilfe
Robert
Hi,
ich denke das Entscheidende bei der Sache ist die Reihenfolge.
"prepend" wird nach "ifEmpty" ausgeführt.
Du müsstest also innerhalb des "prepend" mit "if" oder "override" arbeiten.
Beste Grüße
tom 🙂
Hättest du dafür mal nen ansatz für mich wie ich im prepend noch abfragen kann ob der rückgabewert der extension nicht leer ist und es nur dann wirken lasse?
Gruß robert
Hallo MasterYin,
hier ist ein Ansatz der soweit funktioniert. Ich denke es gibt noch bessere Lösungen, bin aber nicht drauf gekommen.
temp.test = TEXT
temp.test.value = 3455
lib.liste = COA
lib.liste {
10 = LOAD_REGISTER
10.datelist.cObject = TEXT
10.datelist.cObject < temp.test
20 = COA
20 {
10 = TEXT
10.value = Daten vorhanden und zwar:
20 = TEXT
20.value = {register:datelist}
20.insertData = 1
}
20.if.isTrue.data = register:datelist
30 = TEXT
30.value = keine Daten vorhanden
30.if.isFalse.data = register:datelist
}
Du kannst ja mal lib.liste auf einen Marker setzten und selbst ausprobieren mit temp.test.value = oder temp.test.value = 502511.
Das temp.test object habe ich nur zum Testen gebraucht. Schreibst einfach 10.datelist.cObject < plugin.meineListe anstatt 10.datelist.cObject < temp.test.
Ich denke das ist selbsterklärend.
Gruß udowald