Polskie wsparcie PrestaShop
PrestaShop => Dla początkujących => Wątek zaczęty przez: 1q2w3e4r w Czerwiec 01, 2015, 11:00:39 pm
-
Witam
Dodałem za pomocą JS cookie do strony, teraz potrzebuję je odczytać w .tpl, próbowałem np. tak: {$cookie->change_category} jednak nie działa. Chciałbym aby za zmienna mogła być odczytywana wszędzie.
Prestashop 1.6
-
Widzę, że chyba zły dział i nikt nie wie jak to zrobić. Proszę przenieść do innego.
-
Żeby coś odczytać z smarty należy to najpierw przekazać do smarty, dlaczego nie skorzystać z gotowych rozwiązań? Ma to być informacja o cookies?
-
Tak, jak najbardziej gotowa może być do pobrania wartości ciasteczka gotowa funkcja.
Za pomocą js dodałem cookies przykładowo o nazwie "maleCiestaczko" z wartością "slodkie". Potrzebuję teraz w smarty pobrać wartość cookies "maleCiestaczko".
-
jezlei masz dobrze wpisana zmienna przez ta js to odczytujesz bezposrednio:
{if isset($cookie->maleCiestaczko) && $cookie->maleCiestaczko}
{assign var='maleCiestaczko' value=$cookie->maleCiestaczko}
{/if}
zmienna do uzywcia w smarty:
{$maleCiestaczko}
tu juz masz z badaniem wystepowania i zmiana na prosta nazwe zmiennej zeby nie bawic sie tablicowymi.
-
ciasteczko jest stworzone (sprawdzałem wtyczką do chrome) ale niestety nie pobiera jego wartości tą metodą którą podałeś, ciekawe dlaczego. Wszystko kopiowałem więc jest identycznie, hmm
-
podany przez Ciebie przykład jest poprawny tylko działa on w szyfrowanym cookie. W PS 1.6 cookies jest szyfrowane. Ja dodałem zwykłe cookie przez js i można je pobrać przez smarty $smarty.cookies.nazwaCiastka
-
ale dokladnie na powyzszym przykladzie tak samo wrzucalem cookie przez JS
function saveCookie(name, value, time) {
if (dni) {
var data = new Date();
data.setTime(data.getTime()+(time*24*60*60*1000));
var expires = "; expires="+data.toGMTString();
} else {
var expires = "";
}
document.cookie = name+"=" + value + expires + "; path=/";
}
i dziala bez zarzutu. tak na 1.4 jak i 1.6