wenn ifEmpty, dann auch kein prepend.

  • MasterYin MasterYin
    Jedi-Ritter
    0 x
    143 Beiträge
    0 Hilfreiche Beiträge
    20. 09. 2010, 15:40

    Hallo zusammen,
    habe folgendes Snippet:

    1. temp.liste = COA
    2. temp.liste.10 < plugin.meineListe
    3. temp.liste.10{
    4. value = Dieser Beitrag ist den folgenden Themengruppen zugeordnet
    5. lang.en = This article is assigned to the following groups
    6. wrap = |
    7.  
    8. }
    9. ifEmpty = Dieser Beitrag ist in keinen Gruppen.
    10. ifEmpty.lang.en = This article is not assigned to any group.
    11. wrap = <p>|</p>
    12.  
    13. }

    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


  • 1

  • 0 x
    21. 09. 2010, 21:25

    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

  • MasterYin MasterYin
    Jedi-Ritter
    0 x
    143 Beiträge
    0 Hilfreiche Beiträge
    21. 09. 2010, 21:45

    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

  • udowald udowald
    Sternenflotten-Admiral
    0 x
    159 Beiträge
    0 Hilfreiche Beiträge
    08. 10. 2010, 01:17

    Hallo MasterYin,

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

    1. temp.test = TEXT
    2. temp.test.value = 3455
    3.  
    4. lib.liste = COA
    5. lib.liste {
    6. 10.datelist.cObject = TEXT
    7. 10.datelist.cObject < temp.test
    8. 20 = COA
    9. 20 {
    10. 10 = TEXT
    11. 10.value = Daten vorhanden und zwar:&nbsp;
    12. 20 = TEXT
    13. 20.value = {register:datelist}
    14. 20.insertData = 1
    15. }
    16. 20.if.isTrue.data = register:datelist
    17. 30 = TEXT
    18. 30.value = keine Daten vorhanden
    19. 30.if.isFalse.data = register:datelist
    20. }

    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

  • 1