You are on page 1of 2

Pentru lucrul cu resurse se poate face in felul urmator, exemplul e simplu si furnizeaza doar un template functionabil si compilabil in Smarty:

pas1. se creeaza plugin-ul resource.db.php cu urm continut: <?php function smarty_resource_db_source ($tpl_name, &$tpl_source, &$smarty_obj){ // in mod obisnuit se face conexiunea la baza de date // se populeaza $tpl_source cu rezultatul unei interogari dupa numele fisierului template $link=@ mysql_connect("localhost","root", "") or die ("Nu m-am putut conecta la MySQL! ".mysql_errno()); @ mysql_select_db("exemplusmarty") or die ("Nu m-am putut conecta la baza de date $bd: ".mysql_error()); $stmt="SELECT contents FROM templates where templateName = 'template test'"; $result = mysql_query($stmt); while ($linie = mysql_fetch_row($result)){ foreach ($linie as $camp) $results=$results.$camp."<br>"; } $tpl_source = $results; return true;

function smarty_resource_db_timestamp($tpl_name, &$tpl_timestamp, &$smarty_obj){ // se face apel la baza de date pentru a popula $tpl_timestamp // urmatoarea instructiune este introdusa pentru a indica ca recompilarea trebuie facuta de fiecare data $tpl_timestamp = time(); return true; } function smarty_resource_db_secure($tpl_name, &$smarty_obj){ // presupunem ca toate template-urile sunt securizate return true; } function smarty_resource_db_trusted($tpl_name, &$smarty_obj){ // nu se utilizeaza pentru template-uri } ?> pas2. in sql se creeaza baza de date exemplusmarty cu tabelul pe nume 'templates' cu urm campuri: id, templatesname(varchar(32)) si contents(mediumtext de preferinta) pas3. se populeaza tabelul cu un nume de template: ex template test si un content:Intrebare: Cum va numiti?Raspuns: {optNume} pas4. se creeaza resource_db.php cu urm continut: <?php include('D:\xampp\htdocs\SmartyEx\Smarty\Smarty.class.php'); // se creeaza obiectul

$smarty = new Smarty; // inregistrarea postfiltrului $smarty->display("db:index.tpl"); ?> si se ruleaza:) , referitor la template optNume este un o functie plugin luata din cursul profesorului, o gasiti voi, trebuie sa o aveti in resources si ea genereaza nume aleator.Ideea e ca template-ul se obtine din baza de date si e si functionabil:) spor

You might also like