Autor | Zpráva | ||
---|---|---|---|
Alalala Profil |
#1 · Zasláno: 28. 11. 2012, 23:22:28
Zdravím,
vím, že zakládám téma, ke kterému bylo řečeno již mnohé, ale nikde jsem se nedočetl odpověď na konkrétně můj problém. Pomocí šablonovacího systému SMARTY zobrazuju html šablony, do kterých nahrávám obsah z php. Šablony pochopitelně pro něco využívají i JavaScript. No a o co jde mě. Nahraju si (v php) údaje z DB (pole: id položky, popis, gps souřadnici x, y, atd. Těch položek je pochopitelně víc.) a potřeboval bych to pole předat do JS, kterej mi ovládá mapu a zobrazení bodů v ní. Takže otázka jednoduše: Lze nějak předat pole z php do JS? Trochu problém mi do celé věci přináší ještě to, že s JS pracuju jen v těch šablonách a s php jen mimo ně. Proto jsem našel poměrně pěkné řešení v tom, že do toho obsahu z php, který zobrazuji v dané šabloně rovnou přidám ...<script>nejakaJSFce(".$pole.");</script>..., ale to bohužel pro pole nefunguje. V podstatě jestli to správně chápu to může fungovat jen pro textové věci - pro předání OBSAHU proměnné jako parametru té JS fce. Ne pro předání TÉ DANÉ fce. Díky. |
||
Sir Tom Profil |
Alalala:
Také zdravím, tak to v PHP ulož do COOKIE a v JS tu COOKIE přečti. Anebo ještě lépe pomocí PHP vypiš kód JS. $this->code = "var s = 'Nějaký text!';"; $smarty->assign("code", $this->code); // nebo tak nějak to je (už si nepamatuji, jak se předává proměnná do šablony) a ve smarty: <script> {$code} </script> |
||
Alalala Profil |
#3 · Zasláno: 29. 11. 2012, 08:22:49
Sir Tom:
Jo takhle - ty myslíš úplně se vyhnout JS souboru - celej JS naklikat v php a pak ho prostě naprat do tý šablony, kde už bude fungovat. To mě vůbec nenapadlo - samozřejmě by to mělo fungovat. Sice jsem měl v plánu využít funkcí, které si napíšu v JS, ale dost podobné fce si v podstatě můžu napsat i v php (jen bude jejich "vedlejší" funkcí to, že mi budou tvořit kód JS). A v php stejně píšu raději...:-) Zkusím a ozvu se, díky. |
||
Sir Tom Profil |
#4 · Zasláno: 29. 11. 2012, 13:29:04
Alalala:
JS funkce si klidně používej v externích souborech, ale data, se kterými ty funkce budou pracovat si phpkem vypiš přímo do db. |
||
Časová prodleva: 5 dní
|
|||
Alalala Profil |
#5 · Zasláno: 4. 12. 2012, 01:43:56
Uvědomil jsem si, že jsem slíbil, že dám vědět, jak jsem dopadl. Asi jsem to neudělal úplně MVC (asi určitě ne...;-), ale funguje to skvěle. Data, se kterými potřebuji pracovat pomocí JS si vypíši do proměnné v php (např. jako parametry JS fce) a tu pak nechám zobrazit do šablony. To co jsi psal s db, Sire Tome, by určitě bylo elegantnější řešení, ale nebylo by zas na druhou stranu o hodně pomalejší? Řídím se tím, že když se (ne moc prasácky, samozřejmě) můžu vyhnout tahání dat z db, udělám to. Seskládání a zobrazení proměnné je určitě ryhlejší, než práce s db. Ale samozřejmě vycházím z toho, že data potřebuji jen jednou a tady. Díky za rady - nakopnul jsi mě k jednoduchému řešení...
|
||
1Pupik1989 Profil |
#6 · Zasláno: 4. 12. 2012, 09:52:19
Pokud chceš v js pole z php, tak bych zavolal funkci stejně jako si to měl, akorát bych pole prohnal json_encode.
|
||
Časová prodleva: 11 let
|
0