[TYPO3-german] Caching für bestimmtes CONTENT-Objekt ausschalten

JoH asenau info at cybercraft.de
Sat Oct 28 00:45:31 CEST 2006


> Ich habe eine Seite mit einer mittleren und einer rechten Spalte. In
> die Mitte
> kommt der eigentliche Inhalt der Seiten und rechts sollen aus einem
> Pool an vorgefertigten Inhalten immer zufällig 3 Inhalte ausgewählt
> und angezeigt werden.
>
> Ich hab das jetzt erstmal so gelöst, dass ich eine Seite erstellt
> habe, die im
> Menü nicht angezeigt wird und dort werden die Inhalte eingegeben. Im
> Template
> der restlichen Seiten binde ich diese Inhalte nun wie folgt ein:
>
> RIGHT_CONTENT < styles.content.getRight
> RIGHT_CONTENT.select {
>   pidInList = 21
>   orderBy = RAND(UNIX_TIMESTAMP())
>   max = 3
> }
> RIGHT_CONTENT.renderObj.stdWrap.prepend = TEXT
> RIGHT_CONTENT.renderObj.stdWrap.prepend {
>   value = <img src="fileadmin/templates/gfx/blank_sep.gif"
> class="right_content_seperator">
>   if.value = 1
>   if.isGreaterThan.data = cObj:parentRecordNumber
> }
>
> Soweit klappt das auch alles ganz schön, aber da das Caching
> aktiviert ist, bleiben das auf einer Seite immer die gleichen Inhalte
> rechts. Ich hab das schon soweit entschärft, dass bei Änderungen auf
> der Seite mit der rechten Spalte, der komplette Seiten-Cache gelöscht
> wird ("TCEMAIN.clearCacheCmd = pages" im Seiten TSConfig), sodass
> Änderungen sofort sichtbar sind. Weiterhin
> hab ich den Seitencache auf 5 Minuten gestellt, damit sich die
> Reihenfolge auch mal ab und zu ändert.
>
> Noch schöner wäre es jedoch, wenn ich dem System irgendwie beibringen
> könnte,
> alles zu Cachen, außer eben dieses spezielle Content-Objekt. Da hab
> ich aber leider noch keine Möglichkeit gefunden, sowas zu machen.
>
> Deshalb wollte ich nun fragen, ob jemand noch eine Idee hat oder ob
> ich das als Extension oder sowas realisieren muss, damit er das
> Caching für dieses Objekt sein lässt.

Das Zauberwort heißt COA_INT (siehe hierzu TSref)

RIGHT_CONTENT = COA_INT
RIGHT_CONTENT {
    10 < styles.content.getRight
    10 {
        select {
            pidInList = 21
            orderBy = RAND(UNIX_TIMESTAMP())
            max = 3
        }
    }
}

Das mit dem "Content Separator" läßt sich ganz hervorragend über CSS margin
lösen.
Dazu muß Du lediglich statt einem prepend=TEXT einen wrap mit entsprechender
class vergeben.

HTH

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
T3 cookbook: http://www.typo3experts.com





More information about the TYPO3-german mailing list