Autor Zpráva
Anonym
Profil *
$a = 1;

if ($a == 1){
  echo "a = 1";
}
else
{
  echo "a neni 1";
}


Jak toto vypsat s pouzitim Smarty, abych oddelil aplikacni logiku od prezencni?

Lze to napsat tak jak je vyse a je to dobre nebo se to dela treba takto?

index.php
$a = 1;

if ($a == 1){
  $smarty->assign("ano_ne", "a = 1");
}
else
{
  $smarty->assign("ano_ne", "a neni 1");
}
$smarty->display('index.tpl');


index.tpl
Jakou hodnotu ma promenna a? {$ano_ne}
pEeLL
Profil
v .php si jen priradim promenou
 $smarty->assign("a", $a);


a v .tpl pak nejak takhle

{if $a eq 1}
  <span>a = 1</span>
{else}
   <span>a neni 1</span>
{/if}


Diky tomu bys v podstate nemel mit php v html (misto toho tam mas nasra.. smarty)
Anonym
Profil *
pEeLL:
A neni prehlednejsi moje reseni? V .php priradim do promenne uz hodnotu a v .tpl ji jen vypisu. Takhle jak si to napsal ty by byl program podle me strasne neprehledny (nejaka promenna by byla v .php a testovala by se v .tpl). Ale nevim, proto se ptam...
pEeLL
Profil
myslim ze tady zalezi na konkretnim pripade. v kazdem pripade bud budes mit "cistejsi" .php nebo .tpl oboje nejde.

pokud delas web sam tak na tom nesejde - tady ti smarty nic neposkytne.

pokud vas bude delat vic tak v tvem pripade pri drobne uprave (napriklad si zakaznik vzpomene ze pokud bude a == 10 tak chce napsat jeste neco jineho a dokodovat ktomu vzhled) budes potrebovat programatora ktery ti prida podminku a pak posle koderovi. v mem pripade to doresi sam koder.
Anonym
Profil *
pEeLL:
Diky
Anonym
Profil *
Jeste mam otazecku...

Kdyz mam:
<div class="levy">
   <?php
          require_once('levy.php');
   ?>
 </div>


Jde to vyresit takhle?

.php
$levy = require_once('levy.php');
$smarty->assign("levy", $levy);


.tpl
<div class="levy">
   {$levy}
</div>
Nox
Profil
Anonym:
Kdyby sis přečetl jak funguje require, tak bys věděl že ne

Mj. SMARTY má svou vlastní funkci na includování, tak ji můžeš použít
pEeLL
Profil
Anonym:
presne jak ti rika Nox smarty ma sve {include file='soubor.tpl'}. jinak zkus si prohlidnout dokumentaci najdes tam hromadu zajimavych veci.
http://www.smarty.net/manual/en/

ale uprimne pokud delas veci sam vykasli se na smarty nic ti neprinese. precti si tohle
http://www.massassi.com/php/articles/template_engines/
Anonym
Profil *
Include file slouzi pouze pro vkladani sablon, ze?
Co kdyz ale chci includovat kazde strance soubor s php skriptem (napr. levy sloupec?)

Ted to mam takto:
index.php
require_once 'smarty.php';
$smarty = new Smarty;

$aktualita = "Dnes je pekne pocasi";
$smarty->assign('aktualita', $aktualita);     

$smarty->display('index.html');


index.html
<div class="telo">
         <div class="levy">
             {include file='levy.html'}  
         </div>

atd atd

levy.html
<div class="aktuality">
{$aktualita}
</div>


Tohle ale znamena, ze musim v kazde hlavni strance resit php pro levy sloupec... Pokud si udelam dalsi stranku napr. onas.php, tak v ni musim znovu psat php kod pro levy sloupec. Jak to vyresit?
Diky
pEeLL
Profil
koukni ta toto
http://www.smarty.net/manual/en/tips.componentized.templates.php
Anonym
Profil *
pEeLL:
Nevim, moc tomu nerozumim. Mohl by jsi mi to ukazat na mem prikladu? Diky moc

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: