Portál AbcLinuxu, 5. května 2025 23:10

Dotaz: Smarty - nefunkcni

19.5.2015 18:23 dobraczek
Smarty - nefunkcni
Přečteno: 371×
Odpovědět | Admin
Zdravim, jiz nekolikaty den se snazim dohledat na internetu a zatim marne, proc mi nefunguji globalni promenne ve smartech. Na jednom serveru to normalne jede a na druhem ne. Zkousel jsem nainstalovat i starsi verzi PHP a nic. Menit konfiguraci PHP.

http://www.smarty.net/docs/en/language.variables.smarty.tpl

Priklad casti kodu:

URL: www.domena.cz?string=pokus

Zobrazovaci logika:

Obsah promenne string je: {$smarty.get.pokus}

Promena {$smarty.get.pokus} nic nevypise a netusim proc.

Dekuji za kazdou radu, ktera by vedla k vyreseni meho problemu.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

19.5.2015 18:43 logik
Rozbalit Rozbalit vše Re: Smarty - nefunkcni
Odpovědět | | Sbalit | Link | Blokovat | Admin
Přistupovat takhle k globálním proměnným ve smarty je prasečina. Fungovat by to imho ani nemělo (možná máš různé verze smarty?).

Takže moje rada je: nepoužívej to a problém máš vyřešen :-)
19.5.2015 18:49 logik
Rozbalit Rozbalit vše Re: Smarty - nefunkcni
Jo, tak ono to smarty opravdu podporuje. Takže by to běžet mělo (viz Frostyho post). Nicméně to nic nemění na tom, že to prasečina je.
FrostyX avatar 19.5.2015 18:43 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc
Rozbalit Rozbalit vše Re: Smarty - nefunkcni
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tipuju. Máš URL www.domena.cz?string=pokus To znamená, že "string" nejspíš bude název nějaké proměnné a "pokus" bude její hodnota.
To znamená, že nejspíš chceš {$smarty.get.string}
FrostyX.cz | 1984 was not supposed to be an instruction manual.
19.5.2015 19:41 dobraczek
Rozbalit Rozbalit vše Re: Smarty - nefunkcni
Samozrejme, ze je to preklep ten pokus (spravne je: $smarty.get.string). Jde o to, ze potrebuji jeden stary projekt dostat na novy server bez ohledu zda-li je to prasecina nebo ne.

Projekt na starem serveru, ktery potrebuji vyradit bezi, ale na novem ne. Zkousel jsem i instalovat stejnou verzi PHP. Virtualizace stavajiciho serveru neni mozna.

Dekuji lidem, kteri se mi budou snazit pomoc.
20.5.2015 09:34 logik
Rozbalit Rozbalit vše Re: Smarty - nefunkcni
A co vypíše
{$smarty.get|var_dump}
?
21.5.2015 14:43 dobraczek
Rozbalit Rozbalit vše Re: Smarty - nefunkcni
Link: http://domain.com/404.php?string=true&string2=true

Smarty: get: {$smarty.get|var_dump}

Vystup: vypis: NULL
22.5.2015 10:58 logik
Rozbalit Rozbalit vše Re: Smarty - nefunkcni
A existuje v PHP superglobals $_GET? Není tam zakázaná? Pak by pomohlo http://www.smarty.net/docsv2/en/variable.request.use.auto.globals.tpl
29.5.2015 13:46 dobraczek
Rozbalit Rozbalit vše Re: Smarty - nefunkcni

Tak uz jsem zkousel snad vsechno. Netusim kde muze byt problem.

URL:

http://www.domain.com/test.php?string=pokus

Smarty:

Vystup SMARTY je: "{$smarty.get.string}"

Vystup php GET: "{php} echo $_GET['string']; {/php}"

{php} print_r($_GET); {/php}

Output:

Vystup SMARTY je: ""

Vystup php GET: "pokus"

Array
(
    [string] => pokus
)
29.5.2015 14:52 dobraczek
Rozbalit Rozbalit vše Re: Smarty - nefunkcni
Tak nakonec pomohla tato cunarna:
$HTTP_GET_VARS = $_GET;
$HTTP_POST_VARS = $_POST;
31.5.2015 15:39 logik
Rozbalit Rozbalit vše Re: Smarty - nefunkcni
Čistší by bylo přepnout konfiguraci smarty, odkud proměnnou get bere. Odkaz jsem již dával.

http://www.smarty.net/docsv2/en/variable.request.use.auto.globals.tpl

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.