preprost template engine
 
juresl 27. maj 2010 08:48:26 Pridružen od:
16. avg 2007
209 objav
74 23 4
#1

Torej z template engini nimam nič izkušenj in iščem čimbolj preprost template engine. Gledal sem smarty ampak se mi zdi za stran ki jo izdelujem veliko preobsežen. Rad bi nekaj majhnega, mogoče z podporo cachiranja..



Našel sem en primer in me zanima, če je primeren za uporabo in ali se najde še kaj podobnega? Hvala za nasvete.


všeč(0) ni všeč(0) spam(0)
 
spyderw 27. maj 2010 08:50:18 Pridružen od:
5. avg 2008
185 objav
32 7 3
#2

Template Engine je ponavadi zahteven toliko kakor si sam narediš.

Jaz osebno uporabljam DWOO


všeč(0) ni všeč(0) spam(0)
 
carli 27. maj 2010 09:26:45 Pridružen od:
5. avg 2008
1258 objav
583 54 17
#3

Kaj je narobe iz Titovim MiniTpl, na scene-si.org ?


všeč(0) ni všeč(0) spam(0)
 
leteci 27. maj 2010 09:44:17 Pridružen od:
17. maj 2010
31 objav
32 6 0
#4

http://scene-si.org/minitpl/


všeč(0) ni všeč(0) spam(0)
*Uporabniku je bila prepovedana uporaba foruma zaradi večih uporabniških računov, ki so po [pravilih obnašanja](/pravila.html) prepovedani.*
 
juresl 27. maj 2010 13:06:36 Pridružen od:
16. avg 2007
209 objav
74 23 4
#5

Super, nekaj takega sem iskal. Malo sem probaval kako in kaj s tem in se mi je zalomilo. Torej imam datoteke: main.tpl, header.tpl, user.tpl, footer.tpl.



main.tpl


<head>
<title>{site_title}</title>
</head>

<body>
{include header.tpl}
<div id="content">{site_content}</div>
{include header.tpl}
</body>
</html>

v header.tpl in footer.tpl imam nek tekst



user.tpl


<h1>{username} profile</h1>
<ul>
<li><span>Name:</span>{name}</li>
<li><span>Age:</span>{age}</li>
<li><span>Location:</span>{location}</li>
<li><span>Date:</span>{date}</li>
</ul>
<ul>
{foreach $users as $id=>$user}
<li><a href="{id|escape}">{user}</a></li>
{/foreach}
</ul>

in datoteka user.php


<?php
include('class.minitpl.php');

$tpl = new minitpl;
$tpl->load('user.tpl');
$data = array(
"username" => "test",
"name" => "Kwak",
"age" => "150",
"location" => "Slovenija",
"date" => date("m.d.Y")
);
$tpl->assign($data);

$users = array(
"users" => array("test1", "test2", "test3", "test4", "test5"),
);
$tpl->assign($users);
$tpl->render();
?>

Zdaj bi pa jas želel, da je main.tpl glavn fajl in je kot neke vrste iztočnica za druge datoteke. Torej če jas v brskalniku odprem user.php bi mi preko main.tpl moralo naložit header in footer ter vsebino user.tpl. Torej zanima me kako spremenljivko $tpl "vpisati" pod site_content v main.tpl. Upam da razumete. :)


všeč(0) ni všeč(0) spam(0)
 
carli 27. maj 2010 13:23:44 Pridružen od:
5. avg 2008
1258 objav
583 54 17
#6

Če prav razumem?


{include header.tpl}
<h1>{username} profile</h1>
<ul>
<li><span>Name:</span>{name}</li>
<li><span>Age:</span>{age}</li>
<li><span>Location:</span>{location}</li>
<li><span>Date:</span>{date}</li>
</ul>
<ul>
{foreach $users as $id=>$user}
<li><a href="{id|escape}">{user}</a></li>
{/foreach}
</ul>
{include footer.tpl}

Al sem narobe razumel tvoje vprašanje ?


všeč(0) ni všeč(0) spam(0)
 
juresl 27. maj 2010 13:33:52 Pridružen od:
16. avg 2007
209 objav
74 23 4
#7

V bistvu ne popolnoma, rad bi da bi vse izhajalo iz main.tpl, da nebi rabo v vsaki strani z vsebino (ki ni footer ali header) inkludat teh dveh datotek. Nekako da bi v datoteki user.php zloadal main.tpl in kot content vstavil user.tpl. Upam da je bolj razumljivo..


všeč(0) ni všeč(0) spam(0)
 
carli 27. maj 2010 13:47:13 Pridružen od:
5. avg 2008
1258 objav
583 54 17
#8
{include header.tpl}
<div id="content">
{if $data['username'] != null } <!-- ustvariš en pogoj -->
{include user.tpl}
{/if}
</div>
{include footer.tpl}

Če te sedaj prav razumem :D


všeč(0) ni všeč(0) spam(0)
 
juresl 27. maj 2010 13:56:43 Pridružen od:
16. avg 2007
209 objav
74 23 4
#9

Še zmeraj nisma na istem. Imam datoteko user.php v kateri zloadam main.tpl:


$tpl->load('main.tpl');

v katerem se avtomatsko inkudata header in footer.tpl, zaenkrat imam obliko strani z header in footer (ter potrebne html, body, meta tage). Moram še samo vstaviti vsebino torej morem nekako preko assign funkcije vstaviti vsebino user.php (v prejšnji datoteki) v main.tpl:


$tpl = new minitpl;
$tpl->load('user.tpl');
$data = array(
"username" => "test",
"name" => "Kwak",
"age" => "150",
"location" => "Slovenija",
"date" => date("m.d.Y")
);
$tpl->assign($data);

$users = array(
"users" => array("test1", "test2", "test3", "test4", "test5"),
);
$tpl->assign($users);
$tpl->render();

v main.tpl, vrjetno nekako takole:


$tpl->assign("content", $tpl->load('user.tpl'));

ali pa si jas to stvar narobe predstavljam.


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se