[TYPO3-german] config.linkVars dickes cache Problem

bernd wilke x00nsji02 at sneakemail.com
Tue Feb 12 16:12:46 CET 2008


Tobias Pierschel schrieb am Tue, 12 Feb 2008 15:10:06 +0100:

> Hi Chris,
> wir übergeben in den linkVars einen Parameter "partner". Dieser wird mit
> einer Zahl gefüllt, so dass der Link dann so aussieht:
> "http://meinkunde.de/meineunterseite/?parter=553344". Das funktioniert
> auch. Die Links werden mit dem "partner" Parameter erzeugt. Sobald wir
> die nummer ändern, z.B. "?parter=553123" an die url hängen klappt das
> auch, aber einige Links im Inhalt z.B. von RTE oder Seitenmenüs etc.
> steht immer noch "?parter=553344" dran?!?!?!
> 
> Wie gesagt, erst wenn der Cache ausgeschaltet wird, haben wirklich alle
> Links "?parter=553123" Ist das ein BUG?

it's no bug, it's a feature.

wie schon erwähnt muss TYPO3 erstmal wissen was individuell und was 
regelmäßig ist um dann das caching sauber hinzubekommen.

nun gibt es leider keine einfache Deklaration, in der du sagen kannst: 
die und die und die Paramter sollen individuell gecached werden, die 
anderen gibt es immer. Das würde ja auch schief gehen: Wenn der Paramter 
partner mit jedem möglichen Wert einen eignen Eintrag im Cache ergibt 
müsste sich dein Cache eigentlich unendlich viele Einträge merken. Jeder 
Aufruf mit einem anderen Wert gibt einen neuen Eintrag. das für jeden 
Parameter. Gibt es tatsächlich noch etwas, das aus dem cache kommt und 
nicht in den cache schreibt?

TYPO3 speichert erstmal nicht pro Parameterwert, damit der cache nciht 
überläuft.

Wenn du jetzt individuelle Werte hast, kannst du TYPO3 aber beibringen 
dass sie einen eigenen Cache-Eintrag brauchen. etwas hintenrum und etwas 
aufwändig, aber es geht:

für jeden Wert musst du eine Condition in dein Template einfügen.
Das geht natürlich auch nur solange die Anzahl der möglichen Paramter 
übersichtlich ist.
[globalVar = GP:partner=553344]
[globalVar = GP:partner=553123]
[globalVar = GP:partner=552902]
  :
[global]
die Conditions selber können leer sein!

Aber bedenke: für jeden Wert wird der Faktor für die Anzahl der möglichen 
Cache-Einträge erhöht, weil er so die Varianten pro Seite vervielfacht.

Ich habe in einem Projekt ein ähnliches Problem. ~50 Einträge. Ich würd 
es nicht nochmal so machen. die Cache-Tabelle explodiert nämlich.

Außerdem mussten wir es sowieso ohne URL-Parameter hinbekommen, da es ein 
paar Links gab, wo der Parameter nicht weiterreichbar war (hardcoded 
Links).
Der Wert wird also gleichzeitig noch in einem Cookie abgelegt. 
Cookie oder Sessionvar scheinen mir für so etwas passender (auch wenn das 
Handling etwas komplizierter ist)


Bernd
-- 
http://www.pi-phi.de/t3v4/cheatsheet.html


More information about the TYPO3-german mailing list