08. april 2006 - 21:48Der er
15 kommentarer og 1 løsning
Smarty template engine
Jeg er begyndt at bruge Smarty (efter jeg fik det anbefalet her på eksperten), og det ser jo godt ud. Jeg ville høre om der er andre der anvender Smarty - for jeg har en del spørgsmål, og jeg tænkte om der monstro var et forum, der kunne være interessant, mm.
Hvis der er nogle der har nogle smarty-ressourcer-net-steder så ville jeg i hvert fald blive meget glad, hvis I lige kunne skrive dem her :-)
Grunden til, at jeg også spørger er, at forum på: http://smarty.php.net/ ikke virker for mig - det er et dødt link.
Jeg kunne ikke huske hvem det var, der anbefalede det, men det var vist dig :-) Jeg er begyndt at lege med det, og er samtidig begyndt at anvende PEAR, klasser og metoder er nyere for mig, men det hjælper efterhånden :-)
1. Er der et smarty forum, i givet fald har du et link? 2. Kan man samle variabler indenfor Smarty, dvs.
(kommer lige med et eksempel fra min kode)
{* FIRM *} {if $smarty.get.Page eq "Firm"}
{* Menu *} {capture name=menu1} {include file='firmmenu.tpl'} {/capture}
{* Show all firms *} {if $smarty.get.Page2 eq "All"} {capture name=firmAll} {include file='firmAll.tpl'} {/capture} {/if} {/if}
Syret hele mit spørgsmål kom ikke med! Men pyt her kommer det lige helt forfra!
Jeg kunne ikke huske hvem det var, der anbefalede det, men det var vist dig :-) Jeg er begyndt at lege med det, og er samtidig begyndt at anvende PEAR, klasser og metoder er nyere for mig, men det hjælper efterhånden :-)
1. Er der et smarty forum, i givet fald har du et link? 2. Kan man samle variabler indenfor Smarty, dvs.
(kommer lige med et eksempel fra min kode)
{* FIRM *} {if $smarty.get.Page eq "Firm"}
{* Menu *} {capture name=menu1} {include file='firmmenu.tpl'} {/capture}
{* Show all firms *} {if $smarty.get.Page2 eq "All"} {capture name=firmAll} {include file='firmAll.tpl'} {/capture} {/if} {/if}
Ved oven stående laver capture på "menu1" og "firmAll", og disse ønsker jeg skal blive til variablen "content" (spørgsmålet er om det kan lade sig gøre?)
3. Er det muligt at skrive sin PEAR-kommando direkte ind i sine tpl-filer eller skal man skrive sin sql-forespørgsel ind i sin PHP? Se fx <?php $sql = 'select contact_id, name, nick from contacts order by contact'; $smarty->assign("contacts", $db->getAssoc($sql)); ?> {foreach key=cid item=con from=$contacts} <a href="contact.php?contact_id={$cid}">{$con.name} - {$con.nick}</a><br /> {/foreach}
(ovenstående er fra side 43 i manualen).
Jeg ser frem til at høre fra dig..........hvordan anvender du egentlig smarty - er der i nogle særlige tilfælde, hvor det er supersmart - jeg er jo lidt nysgerrig og sidder ivrigt og læser den gode dokumentation.
Som kommentar så siger du capture er overkill........måske. Pointen er bare, at jeg foretrækker at skrive al content ud ét sted, og samle elementerne og underelementerne efterhånden så man bygger videre på variabler - det er muligt det ikke er optimalt, men hvad er så optimalt/bedre?
Du skal dele dine programmer op i 2 dele: Noget PHP, der laver beregninger, og kan bruge klasser fra PEAR og Zend, og så noget der viser det. Det er 2 helt adskilte ting, og skal ikke blandes.
Du får $smarty.capture.menu1 og $smarty.capture.firmAll som variabler med din capture. Men der skulle ikke være nogen grund til det.
Variablerne: color1 og color4 er defineret igennem smarty (variabler lavet og loadet igennem smarty. Har du været ude for dette problem? Eller laver jeg en eller anden syntaksfejl?
Jeg samler slet ikke på point, tak. Accepter blot dit eget svar.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.