TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

wenn ifEmpty, dann auch kein prepend.


Autor Nachricht
Verfasst am: 20. 09. 2010 [15:40]
MasterYin
Themenersteller
Dabei seit: 22.08.2006
Beiträge: 142
Hallo zusammen,
habe folgendes Snippet:
TYPOSCRIPT
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

"Wer glaubt, etwas zu sein, hat aufgehört, etwas zu werden."
(Philip Rosenthal)
ProfilICQ
Verfasst am: 21. 09. 2010 [21:25]
friction48
Dabei seit: 02.12.2003
Beiträge: 253
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 icon_smile.gif

TYPO3-Typoscript-Snippets und Tutorials auf www.l-base.de
Verfasst am: 21. 09. 2010 [21:45]
MasterYin
Themenersteller
Dabei seit: 22.08.2006
Beiträge: 142
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

"Wer glaubt, etwas zu sein, hat aufgehört, etwas zu werden."
(Philip Rosenthal)
ProfilICQ
Verfasst am: 08. 10. 2010 [01:17]
udowald
Dabei seit: 05.11.2006
Beiträge: 159
Hallo MasterYin,

hier ist ein Ansatz der soweit funktioniert. Ich denke es gibt noch bessere Lösungen, bin aber nicht drauf gekommen.

TYPOSCRIPT
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:&nbsp;
      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
Profil