[TYPO3-german] Domain Cookie setzen und auslesen
Stephan Schuler
Stephan.Schuler at netlogix.de
Wed Jun 23 14:32:22 CEST 2010
Hallo Chris.
Du solltest zunächst einmal prüfen, ob TYPO an dieser Stelle überhaupt den Cookie sieht. Dazu würde ich folgendes schreiben:
lib.navi = TEXT
lib.navi.data = global : HTTP_COOKIE_VARS | lastdomain
Ich bin mir gerade nicht zu 100% sicher ob dein Zugriff stimmt.
Wenn du hier dann den passenden Wert im Frontend ausgegeben bekommst kannst du dich ans CASE machen.
Innerhalb der CASE-Anweisung habe ich natürlich nur die von dir geschriebenen Einzelheiten wiedergegeben. Ich kann mir recht gut vorstellen, dass dein HMENU einfach noch nicht vollständig konfiguriert ist. Dir fehlt so natürlich entryLevel, dazu dann "1", "2" (Menütiefen) und darin dann NO und ACT-Elemente; was man eben alles so im HMENU braucht.
Um grundsätzlich das CASE zu validieren würde ich mit einem simplen TEXT anfangen. Erst wenn dir der TEXT anhand des Cookies die korrekte Ausgabe liefert kannst du sinnvoll auf ein HMENU erweitern. Vorher suchst du den Fehler einfach an zu vielen unterschiedlichen Stellen ohne konkrete Anhalspunkte.
Grüße,
Stephan Schuler
Web-Entwickler
Telefon: +49 (911) 539909 - 0
E-Mail: Stephan.Schuler at netlogix.de
Internet: http://media.netlogix.de
-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Chris Bernhard
Gesendet: Mittwoch, 23. Juni 2010 14:11
An: typo3-german at lists.typo3.org
Betreff: Re: [TYPO3-german] Domain Cookie setzen und auslesen
Hi Stephan,
okay, dann liege ich damit wohl völlig falsch...
Ich möchte halt abhängig vom Cookie Wert Menupunkte ein- und ausblenden.
Das wäre eigentlich schon alles, gestaltet sich aber irgendwie
schwieriger als gedacht.
Wenn ich jetzt Dein Prinzip übernehme wird überhaupt kein Menu mehr
angezeigt...
Vielen Dank und allerbeste Grüße vom Chris
Am 23.06.2010 13:53, schrieb Stephan Schuler:
> Hallo Chris.
>
>
> Du hast leider das Prinzip eines "CASE"-Objekts missverstanden! Ein CASE-Objekt ist keinesfalls mit einer case-Programmieranweisung zu vergleichen die "einen gekammerten Ausdruck ausführt".
>
> Man könnte (mit einigen zugedrückten Augen) sagen: Ein CASE ist ein etwas erweitertes COA bei dem nur derjenige Child-Tree zum Zug kommt, dessen Name auf das key-Element zutrifft.
>
>
> Was du eigentlich willst:
>
> lib.navi = CASE
> lib.navi {
>
> key.data = global : HTTP_COOKIE_VARS | lastdomain
>
> default = HMENU
> default {
> excludeUidList = 67,68,69
> }
> 67< .default
> 67.excludeUidList = 68,69
> 68< .default
> 68.excludeUidList = 67,69
> 69< .default
> 69.excludeUidList = 67,68
> }
>
>
> Wenn du ein Beispiel für ein "schönes großes CASE-Objekt" sehen möchtest: Guck dir "lib.tt_content" an.
>
>
> Grüße,
>
>
> Stephan Schuler
> Web-Entwickler
>
> Telefon: +49 (911) 539909 - 0
> E-Mail: Stephan.Schuler at netlogix.de
> Internet: http://media.netlogix.de
> -----Ursprüngliche Nachricht-----
>
> Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Chris Bernhard
> Gesendet: Mittwoch, 23. Juni 2010 13:36
> An: typo3-german at lists.typo3.org
> Betreff: Re: [TYPO3-german] Domain Cookie setzen und auslesen
>
> Am 23.06.2010 13:13, schrieb Stephan Schuler:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA256
>>
>> Hallo Chris.
>>
>>
>> Ohne die Situation zu testen:
>>
>> CASE.key ist ein normaler String mit stdWrap.
>> Aus diesem Grund hat "key" sowohl ein ".field" über das man die Fields des Context-Records verwenden kann als auch ein ".data" das -- als normales getText -- deine Global-Var ansprechen kann.
>>
>> http://wiki.typo3.org/index.php/De:TSref/stdWrap#data
>>
>> cookie = CASE
>> cookie {
>> key.data = global : HTTP_COOKIE_VARS | lastdomain
>> }
>>
>>
>> Gruß,
>>
>>
>> Stephan Schuler
>> Web-Entwickler
>>
>> Telefon: +49 (911) 539909 - 0
>> E-Mail: Stephan.Schuler at netlogix.de
>> Internet: http://media.netlogix.de
>>
>> - --
>> netlogix GmbH& Co. KG
>> IT-Services | IT-Training | Media
>> Andernacher Straße 53 | 90411 Nürnberg
>> Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
>> E-Mail: mailto:info at netlogix.de | Internet: http://www.netlogix.de/
>>
>> netlogix GmbH& Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338)
>> Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
>> Umsatzsteuer-Identifikationsnummer: DE 233472254
>> Geschäftsführer: Stefan Buchta, Matthias Schmidt
>>
>> - -----Ursprüngliche Nachricht-----
>>
>>
>> Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Chris Bernhard
>> Gesendet: Mittwoch, 23. Juni 2010 12:36
>> An: typo3-german at lists.typo3.org
>> Betreff: Re: [TYPO3-german] Domain Cookie setzen und auslesen
>>
>> Am 17.06.2010 17:13, schrieb Chris Bernhard:
>>> Hola zusammen,
>>>
>>> bin jetzt etwas weiter.
>>> Cookies setze ich nun mittels einer kleinen PHP Extension.
>>> Eigentlich ja ganz simpel, nun muss ich das Ding noch via
>>> Typoscript verwursten und da ist nun der Hund begraben.
>>>
>>> Ich bräuchte also eine IF / ElSE bzw. besser CASE Anweisung.
>>> Also sowas in der Art:
>>>
>>> [PIDinRootline = 30]
>>> page.includeCSS {
>>> file4 = fileadmin/templates/style/blue.css
>>> file4.title = Standardansicht
>>> file4.media = screen
>>> }
>>>
>>> lib.navi = HMENU
>>> lib.navi {
>>> temp.mycookie.cObject = CASE
>>> temp.mycookie.cObject {
>>> key.field = global : HTTP_COOKIE_VARS | pid
>>>
>>> <!-- DANN hier sowas wie, wenn Cookie page id = 32
>>> excludeUidList = 32
>>>
>>> <!-- DANN hier sowas wie, wenn Cookie page id = 50
>>> excludeUidList = 50
>>>
>>> usw...
>>>
>>> }
>>> }
>>>
>>> [END]
>>>
>>>
>>> Vielen Dank für Eure Hilfe und beste Grüße,
>>>
>>> Chris
>>>
>>> Am 16.06.2010 12:41, schrieb Chris Bernhard:
>>>> Hi zusammen,
>>>>
>>>> ich betreibe eine Typo3 Seite (T3 4.3.3) die mit mehreren
>>>> Domains problemlos läuft. Nun möchte ich, wenn der User
>>>> über eine Subdomain kommt ein Cookie schreiben und sobald
>>>> der User wieder über die Hauptdomain kommt das Cookie
>>>> auslesen und einen kleinen Banner zur Subdomain anzeigen.
>>>>
>>>> Wie stelle ich das am besten an?
>>>>
>>>> Vielen Dank für Eure Vorschlage und beste Grüße vom Chris
>>>
>> Hi zusammen mal wieder,
>>
>> ich komme mit dieser Sache einfach nicht weiter...
>> Habs jetzt mal so probiert, aber CASE schluckt ja nur fields und
>> somit nicht mein Cookie, oder?
>>
>> Hier mal das momentane TS:
>>
>> cookie = CASE
>> cookie.key.field = global : HTTP_COOKIE_VARS | lastdomain
>> # Das Objekt gibt den Inhalt nur zurück, wenn das Feld "header" nicht
>> leer ist.
>>
>> # Wenn Cookie den Wert 67 hat
>> cookie.67 = TEXT
>> cookie.67 {
>> # Mach hier was
>> }
>>
>> # Wenn Cookie den Wert 67 hat
>> cookie.68 = TEXT
>> cookie.68 {
>> # Mach hier was
>> }
>>
>> Vielen Dank für Eure Hilfe und beste Grüße vom Chris
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
>>
>> -----BEGIN PGP SIGNATURE-----
>> Version: PGP Universal 3.0.0 (Build 2881)
>> Charset: Windows-1252
>>
>> wpUDBQFMIe0cpp0IwsibV8MBCKFVA/9pqnWjCzDsfY9KJK8WdYLWfr+A3lX0CWTp
>> TK8KkodujB04/cIhP+/g5ncagLBTkdp+MfK8zp2GVhV4T+5+onkZ3UpMnZQBFM/u
>> lFns908TNd9tNwcpr3oCnTzxmYowrK/1J01G+DqfOrUEOq3+mf54qrvPIx8kvVx0
>> onhALYjbIQ==
>> =sE1m
>> -----END PGP SIGNATURE-----
>
> Hi Stephan,
>
> vielen Dank erstmal für Deine Antwort. Hab jetzt die ganze Sache so
> geschachtelt, tut aber immer noch nicht, das Cookie ist auch definitiv
> vorhanden...
>
> So siehts nun aus:
>
> [PIDinRootline = 409]
>
> cookie = CASE
> cookie.key.data = global : HTTP_COOKIE_VARS | lastdomain
> cookie.default = TEXT
> cookie.default {
> lib.navi = HMENU
> lib.navi {
> excludeUidList = 67,68,69
> }
> }
>
> # Wenn Cookie den Wert 67 hat
> cookie.67 = TEXT
> cookie.67 {
> lib.navi = HMENU
> lib.navi {
> excludeUidList = 68,69
> }
> }
>
> # Wenn Cookie den Wert 67 hat
> cookie.68 = TEXT
> cookie.68 {
> lib.navi = HMENU
> lib.navi {
> excludeUidList = 67,69
> }
> }
>
> # Wenn Cookie den Wert 67 hat
> cookie.69 = TEXT
> cookie.69 {
> lib.navi = HMENU
> lib.navi {
> excludeUidList = 67,68
> }
> }
>
> [END]
>
> Vielen Dank und viele Grüße,
>
> Chris
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
More information about the TYPO3-german
mailing list