[minitpl] vpis v vsak .tpl fajl
3 naročniki
3 naročniki
Lp!
Zanima me, kako, če se da, vpisati neko konstanto v "vsak" .tpl fajl. Da dam konkreten primer..
<title>{SITENAME} - {PAGE_TITLE}</title>
PAGE_TITLE definiram v datoteki, kjer zloadam .tpl file (torej se na vsak fajl spreminja)
SITENAME pa bi bila konstantna, torej zmeraj enaka
Je potrebno SITENAME vpisat (assign) v vsaki datoteki, ali se da v kaki osnovni datoteki, ki jo vsebuje vsaka datoteka (.php)
Upam, da razumete.. lp!
6 odgovorov
Kolikor vem, vsak define ima global scope, tako da ja, če definiraš enkrat, bilo kje, bo na voljo.
Samo pač, mora bit definirano preden prvič kličeš.
BTW. to stvar bi ugotovu v eni minuti, če bi sam probal ali pogledal define() na php.net
Mislim, da me nisi razumel, al pa jaz ne razumem tebe.. Bom daš še bolj konkreten primer:
register.php
<?php
require_once('common.php');
$tpl->load('register.tpl');
$tpl->assign('PAGE_TITLE', 'Registracija');
$tpl->render();
?>
common.php
<?php
// tu bi rad definiral/vpisal SITENAME
// $tpl->assign_to_every_file('SITENAME', 'Ime Strani');
?>
register.tpl
{include header.tpl}
{include footer.tpl}
header.tpl
<head>
<title>{SITENAME} • {PAGE_TITLE}</title>
</head>
<body>
footer.tpl
</body>
</html>
Bolj skoraj da nemorem pokazat kaj želim.. upam, da približno razumeš/te kaj želim. Hvala v naprej za odgovore!
juresl, kolikor jaz razumem dokumentacijo minitplja, sta {SITENAME} in {$SITENAME} identična in bereta spremenljivke, lokalne templatu. Spremenljivke assignaš tako kot si že ugotovil. Če želiš, da minitpl izpiše konstanto, jo moraš prefixati z underscorom (znakom ), torej takole {SITENAME}, konstanto pa definiraš v PHP kodi kot ponavadi, torej z define('_SITENAME', 'Ime Strani');