Autor Subiect: Accesul la cookies din Typoscript  (Citit de 1102 ori)

vundicind

  • Novice
  • *
  • Mesaje postate: 8
Accesul la cookies din Typoscript
« : Decembrie 07, 2009, 11:39:32 am »
Salut! Cunoaște cineva dacă este posibil de accesat datele din cookies doar prin Typoscript?

tiberiu

  • Novice
  • *
  • Mesaje postate: 209
    • http://www.arobs.com
Răspuns: Accesul la cookies din Typoscript
« Răspuns #1 : Decembrie 07, 2009, 12:22:32 pm »
Salut,

Depinde cum vrei sa folosesti informatia din cookie in Typoscript ... Poti face un if in typoscript de genul:

[userFunc = user_match(checkCookieValue)]
// va intra aici daca return-ul din functia user_match e true. Asadar poti pune codul corespunzator
// cookie-ului setat
[global]


In fisierul 'typo3conf/localconf.php' va trebui sa pui functia 'user_match':
function user_match($what) {
switch ($what) {
   case 'checkCookieValue':
       if ($_COOKIE['myValue'] == 'x') {
            return true;
       }
  break;
}
return false;
}


Revino cu detalii legate de utilizare si poate gasim si alta solutie. ;)

Tiberiu Contiu
PHP System Architect
AROBS Transilvania Software
str. Minerilor, nr. 63, Cluj-Napoca

www.arobs.ro , www.arobs.com

E-mail: tiberiu.contiu(at)arobs.com , tiberiu.contiu(at)yahoo.com
Skype:  tiberiu.contiu

alinafleser

  • Administrator
  • Novice
  • *****
  • Mesaje postate: 126
Răspuns: Accesul la cookies din Typoscript
« Răspuns #2 : Decembrie 07, 2009, 02:06:43 pm »
Se poate si folosind astfel:
temp.test.data = global : HTTP_COOKIE_VARS | some_cookie
Aici am gasit ceva referinta
http://typo3.org/documentation/document-library/references/doc_core_tsref/4.2.1/view/1/2/
N-am testat insa. Spune-mi si mie daca functioneaza :d

vundicind

  • Novice
  • *
  • Mesaje postate: 8
Răspuns: Accesul la cookies din Typoscript
« Răspuns #3 : Decembrie 07, 2009, 08:07:15 pm »
lucreaza de minune, de exemplu:

temp.abc = TEXT
temp.abc.data = global : HTTP_COOKIE_VARS | be_typo_user
temp.abc.ifEmpty = No cookie found!

Acum apare alta intrebare :-) daca tot in asa fel se poate modifica valoarea acestui cookie?

alinafleser

  • Administrator
  • Novice
  • *****
  • Mesaje postate: 126
Răspuns: Accesul la cookies din Typoscript
« Răspuns #4 : Decembrie 08, 2009, 07:58:00 am »
Incearca asa:
[globalVar = HTTP_COOKIE_VARS|MyCookie = blabla]

vundicind

  • Novice
  • *
  • Mesaje postate: 8
Răspuns: Accesul la cookies din Typoscript
« Răspuns #5 : Decembrie 08, 2009, 07:54:28 pm »
Totul e OK doar că nu prea pot înțelege un lucru. Pînă acum, cînd parametrul 'color' era un GET parametru, pentru verificare utilizam următoarea construcție:

[globalVar=GP:color=256]
...
[end]

,iar acum de cînd îl transmit prin COOKIE utilizez

[globalVar=HTTP_COOKIE_VARS|color=256]
...
[end]
???

Prin ce se deosebește ":" de "|"?

tiberiu

  • Novice
  • *
  • Mesaje postate: 209
    • http://www.arobs.com
Răspuns: Accesul la cookies din Typoscript
« Răspuns #6 : Decembrie 08, 2009, 09:06:53 pm »
Bara verticala o folosesti cand ai un array asociativ multidimensional. Ceea ce e dupa | e cheia de nivel 2 din array. De exemplu, in cazul variabilei get &tx_ttnews[tt_news]=1, care in php e $_GET['tx_ttnews']['tt_news'], vei folosi:

[globalVar=GP:tx_ttnews|tt_news=1]
...
[end]

Ceea ce e inainte de ":" e array-ul pe care-l folosesti. In cazul acesta e vorba de "GP", respectiv de array-ul rezultat din reuniunea array-urilor $_GET si $_POST, rezultat al metodei t3lib_div::_GP() .

In cazul de fata, default se foloseste array-ul $GLOBALS, astfel ai in php: $GLOBALS['HTTP_COOKIE_VARS']['color']. Insa nu mai trebuie sa faci GLOBALS:HTTP_COOKIE_VARS|color ... pentru ca ia default din array-ul $GLOBALS.

Sper ca nu m-am complicat prea tare in explicatii.... :P
« Ultima Modificare: Decembrie 09, 2009, 09:14:41 am de tiberiu »
Tiberiu Contiu
PHP System Architect
AROBS Transilvania Software
str. Minerilor, nr. 63, Cluj-Napoca

www.arobs.ro , www.arobs.com

E-mail: tiberiu.contiu(at)arobs.com , tiberiu.contiu(at)yahoo.com
Skype:  tiberiu.contiu

vundicind

  • Novice
  • *
  • Mesaje postate: 8
Răspuns: Accesul la cookies din Typoscript
« Răspuns #7 : Decembrie 09, 2009, 03:02:09 pm »
Mulțumesc mult ... și dacă nu greșesc simbolul "|" poate fi utilizat nu numai pentru accesa cheile de nivelul 2 ci și cele de nivelul 3,4 etc. De exemplu
[globalVar=GP:param1|sub_param1|sub_sub_param1 = 1]
...
[end]

tiberiu

  • Novice
  • *
  • Mesaje postate: 209
    • http://www.arobs.com
Răspuns: Accesul la cookies din Typoscript
« Răspuns #8 : Decembrie 09, 2009, 10:44:05 pm »
Teoretic, da... practic n-am avut niciodata ocazia si curiozitatea sa incerc. ;)
Tiberiu Contiu
PHP System Architect
AROBS Transilvania Software
str. Minerilor, nr. 63, Cluj-Napoca

www.arobs.ro , www.arobs.com

E-mail: tiberiu.contiu(at)arobs.com , tiberiu.contiu(at)yahoo.com
Skype:  tiberiu.contiu