[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