Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
Autor | Správa |
---|
Registrovaný: 21.01.07 Prihlásený: 29.03.20 Príspevky: 660 Témy: 53 | 53 |
Potrebujem poradiť pri jednej veci ohľadom PHP. Web si teraz robím rozložený na dve časti. Samostatné PHP skripty a druhá časť sú template (.tpl) súbory, ktoré tvoria šablónu webu. Chcel by som si uľahčiť prácu, tak ako je to v phpBB...Keď do tpl súboru chcem vložiť obsah premennej, musím zadať toto:
Kód: <? echo ($premenna); ?> Vedeli by ste mi poradiť, ako by som to mohol spraviť tak, aby stačilo napísať iba toto? Kód: {PREMENNA}
V PHP som začiatočník. Ďakujem
|
|
Registrovaný: 17.10.06 Prihlásený: 08.01.11 Príspevky: 1752 Témy: 17 | 17 |
tento styl funguje tusim pri sablonovacom systeme smarty. ja osobne s nim skusenosti nemam, ale mozno ti tu niekto poradi. v kazdom pripade si o smarty najdi nieco na google
|
|
Registrovaný: 10.02.07 Prihlásený: 14.08.09 Príspevky: 255 Témy: 27 | 27 Bydlisko: KE |
jj, ja smarty vyuzivam, a musim potvrdit ze je to uzasne
najviac som pocitil ako mi smarty chyba prave teraz, ked som musel robit jeden web bez neho
smarty je uplne jednoducha vec. stiahnes, vytvoris jeho objekt, a nakonfigurujes cestu, kde sa nachadzaju templaty, a tiez dalsie subory ( o tomto viac v manuali)
potom uz iba pridelujes prikazom $objekt_so_smarty->assign('premenna', 'hodnota');
a zobrazujes stranky $objekt_so_smarty->display('nazov_templatu.tpl');
viac na smarty.php.net
_________________ drahi hackeri! teraz mozete okamzite premazat cely tento server! stlacte skratku ALT+F13 |
|
Registrovaný: 22.11.05 Prihlásený: 29.01.23 Príspevky: 712 Témy: 25 | 25 Bydlisko: SK-Martin |
toto je vycucnuté z phpbb, skús sa s tým pohrať, možno ti to pomôže:
Kód: $template->pparse('body'); //ale predtým niekde musis zavolat kód: $template->set_filenames(array( 'body' => '<subor.tpl>') );
|
|
Registrovaný: 21.06.06 Prihlásený: 09.09.08 Príspevky: 337 Témy: 26 | 26 |
mokus píše: toto je vycucnuté z phpbb, skús sa s tým pohrať, možno ti to pomôže: Kód: $template->pparse('body'); //ale predtým niekde musis zavolat kód: $template->set_filenames(array( 'body' => '<subor.tpl>') );
Super, samozrejme, že Ti to pomôže, ale iba pokial si ešte zu phpBB nakopírujes súbor includes/template.php v ktorom sa nachádza trieda a všetky funckie a upravíš ho
Ja som si ho upravil, používam ho, páči sa mi viac ako Smarty
|
|
Registrovaný: 21.01.07 Prihlásený: 29.03.20 Príspevky: 660 Témy: 53 | 53 |
Leachim píše: Super, samozrejme, že Ti to pomôže, ale iba pokial si ešte zu phpBB nakopírujes súbor includes/template.php v ktorom sa nachádza trieda a všetky funckie a upravíš ho Ja som si ho upravil, používam ho, páči sa mi viac ako Smarty
No hej, ako si myslel upraviť, lebo túto metódu som skúšal, len akosi neviem, čo tam mám upravovať, je tam toho strašne veľa...neviem, totiť, ktoré funckie môžem vypustiť, aby to nakoniec vôbec fungovalo...
|
|
Registrovaný: 10.02.07 Prihlásený: 14.08.09 Príspevky: 255 Témy: 27 | 27 Bydlisko: KE |
ja sa na to asi pozriem cez vikend, lebo sa chystam trochu postudovat phpbb, a tieto veci vyzeraju zaujimavo
mozno to nakoniec budem tiez pouzivat namiesto smarty
_________________ drahi hackeri! teraz mozete okamzite premazat cely tento server! stlacte skratku ALT+F13 |
|
Registrovaný: 24.02.07 Prihlásený: 24.08.09 Príspevky: 146 Témy: 31 | 31 Bydlisko: Martin |
chalani vymysleli ste uz daco s tym smarty alebo template.php ? neviete mi pls konkretne poradit ako na to?
|
|
Registrovaný: 10.02.07 Prihlásený: 14.08.09 Príspevky: 255 Témy: 27 | 27 Bydlisko: KE |
_________________ drahi hackeri! teraz mozete okamzite premazat cely tento server! stlacte skratku ALT+F13 |
|
Registrovaný: 24.02.07 Prihlásený: 24.08.09 Príspevky: 146 Témy: 31 | 31 Bydlisko: Martin |
sry, uz som na to prisiel. len sa chcem spytat, ako dam do tohto:
Kód: $smarty->assign('name', 'xyz');
namiesto toho xyz nazov funkcie ktoru mam vytvorenu aby jej vysledok potom zobrazil?
dik
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 | 35 Bydlisko: BA - WESTSIDE |
Jednoducho.
Kód: $smarty->assign('name', super_funkcia('super_parameter_super_funkcie'));
Môže tam byť hocičo, celé číslo, pole, reťazec, boolean...
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 24.02.07 Prihlásený: 24.08.09 Príspevky: 146 Témy: 31 | 31 Bydlisko: Martin |
ked som to dal takto tak on tu funkciu zavolal priamo tam kde je napisana. nevlozil ju do toho suboru templatu. takze najprv bola funkcia zobrazena a potom az ten template subor
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 | 35 Bydlisko: BA - WESTSIDE |
A aká je tá funkcia? Ak nechceš jej návratovú hodnotu (lebo ona sama niečo zobrazí na obrazovku, napr. ako print_r($var);) tak máš možnosť - otvor si šablónu (.tpl) a do nej napíš {php}funkcia();{/php} - medzi značky {php} a {/php} sa môže vložiť akýkoľvek PHP kód, ale silne sa to neodporúča! Pretože potom ten šablónovací systém v podstate stráca zmysel. Lepšie je napísať si funkcie s normálnou návratovou hodnotou a tú predať do {$smarty_premennej} a formátovať smarty premennú.
Ešte tam tuším existuje spôsob, ako zadefinovať vlastné funkcie v smarty, ale na podrobnosti si nespomeniem (určite to však nájdeš v smarty manuáli).
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 24.02.07 Prihlásený: 24.08.09 Príspevky: 146 Témy: 31 | 31 Bydlisko: Martin |
no vo funkcii je echo
a vyzera takto Kód: function NazovWebu() { $sql = "SELECT value FROM config WHERE name='nazov' LIMIT 1"; if($res = @mysql_query($sql)) { $config = mysql_fetch_assoc($res); echo $config['value']; }
je to vlastne kod ktori mi tu poradili na fore len som ho obalil do fnkc
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
namiesto echo skus dat return
|
|
Registrovaný: 24.02.07 Prihlásený: 24.08.09 Príspevky: 146 Témy: 31 | 31 Bydlisko: Martin |
parada, dikes moc. uz to facha
|
|
Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
|