[TYPO3-german] Content von Unterseiten ausgeben

JoH info at cybercraft.de
Tue Feb 21 23:26:58 CET 2006


> temp.subcontent = COA
> temp.subcontent {
>     10  = CONTENT
>     10 {
>         table = pages
>         renderObj = COA
>         renderObj {
>             10 = COA
>             10 {
>                 if.isFalse.data = register:pageList
>                 10 = LOAD_REGISTER
>                 10 {
>                     pageList.field = uid
>                 }
>             }
>             20 = COA
>             20 {
>                 if.isTrue.data = register:pageList
>                 10 = LOAD_REGISTER
>                 10 {
>                     pageList.dataWrap =
>                 {register:pageList},{field:uid} }
>             }
>         }
>     }
>     20  = CONTENT
>     20 {
>         table = tt_content
>         select {
>             pidInList.data = register:pageList
>             orderBy = pid DESC,sorting
>         }
>     }
> }
>
> Soeben getestet und für gut befunden.
> Übrigens: Solche und ähnliche Ansätze gibt's in Kürze im Kochbuch ;-)

Mal wieder viiiieeel zu kompliziert gedacht und zudem noch mit einem kleinen
Bug versehen.
Die Reihenfolge der COA für das Füllen der Register war genau falsch.
Zuerst muß die isTrue Abfrage kommen, dann die isFalse Abfrage.
Zudem würde die Reihenfolge der Seiten nicht berücksichtigt, sondern deren
uid, was prinzipiell gesehen ebenfalls falsch wäre.
Genaugenommen braucht man aber gar kein Register, wenn man es so löst:

temp.subcontent = COA
temp.subcontent {
    10  = CONTENT
    10 {
        table = pages
        select {
            orderBy = sorting
        }
        renderObj = CONTENT
        renderObj {
            table = tt_content
            select {
                pidInList.field = uid
                orderBy = sorting
           }
        }
    }
}

Wenn der eigene Content der aufrufenden Seite auch noch mit rein soll,
müsste es so aussehen:

temp.subcontent = COA
temp.subcontent {
    10 = CONTENT
    10 {
        table = tt_content
        select {
            orderBy = sorting
        }
    }
    20  = CONTENT
    20 {
        table = pages
        select {
            orderBy = sorting
        }
        renderObj = CONTENT
        renderObj {
            table = tt_content
            select {
                pidInList.field = uid
                orderBy = sorting
           }
        }
    }
}

Kürzer geht's glaub' ich wirklich nicht mehr.

Viel Spaß damit

Joey

-- 
Wenn man keine Ahnung hat: Einfach mal Fresse halten!
(If you have no clues: simply shut your knob sometimes!)
Dieter Nuhr, German comedian
openBC: http://www.cybercraft.de





More information about the TYPO3-german mailing list