hi,
ich bin vor kurzem auf Smarty gestoßen und bin gerade dabei mein CMS darauf umzustellen...Bis jetzt klappt auch alles ganz gut...Aber bei der Navigation habe ich ein problem
Mein bisheriger Code sag wie folgt aus:
Die Templates dazu (nur für navigation_left, da sich die anderen ziemlich gleichen):
navigation_left.tpl
navigation_left_box.tpl
navigation_left_link_box.tpl
navigation_lin.tpl
Als ich es umgestellt habe, habe ich die ganzen eval Funktionen durch Smarty Funktionen ersetzt
und die Variablen in den Templates in {} eingeschlossen. Aber es funktioniert nicht.
Kann mir vielleicht jemand sagen wie ich das machen muss, damit es klappt?
Smarty ist ziemlich genial...jedoch auch ziemlich schwer sich einzuarbeiten, weils doch sehr umfangreich ist
Würde mich über jede Antwort freue, die mir helfen könnte das Problem zu lösen.
Danke...=)
ich bin vor kurzem auf Smarty gestoßen und bin gerade dabei mein CMS darauf umzustellen...Bis jetzt klappt auch alles ganz gut...Aber bei der Navigation habe ich ein problem
Mein bisheriger Code sag wie folgt aus:
PHP-Code:
$mvNavDb=$mcDB->mfQuery("SELECT * FROM ".mTblNavCat." WHERE navcat_status='1'
ORDER by navcat_order ASC");
while($mvNav=$mcDB->mfFetchArray($mvNavDb)){
if($mvNav['navcat_align']==1){
$mvSiteNavClassBody = 'navLeftBody';
$mvSiteNavClassTable = 'navLeftTable';
unset($mvSiteNavLeftHead);
unset($mvSiteNavLeftBody);
if($mvNav['navcat_box']!=""){
include("navigation/".$mvNav['navcat_box']);
$mvSiteNavLeftHead=$mvNav['navcat_title'];
eval ("\$mvSiteNavLeftBody .= \"".mfGetTemplate($mvNavTemplate)."\";");
eval ("\$mvSiteNavLeftBox .= \"".mfGetTemplate("navigation_left_box")."\";");
}
else{
$mvNavLinkDb=$mcDB->mfQuery("SELECT * FROM ".mTblNav."
WHERE nav_cat='".$mvNav['navcat_id']."'
ORDER by nav_order ASC");
while($mvNavLink=$mcDB->mfFetchArray($mvNavLinkDb)){
$mvSiteNavClassBody = "navLeftBody";
$mvSiteNavClassTable = 'navLeftTable';
eval ("\$mvSiteNavLeftBody .= \"".mfGetTemplate("navigation_link")."\";");
}
$mvSiteNavLeftHead=$mvNav['navcat_title'];
eval ("\$mvSiteNavLeftBox .= \"".mfGetTemplate("navigation_left_link_box")."\";");
}
}
elseif($mvNav['navcat_align']==2){
...
}
elseif($mvNav['navcat_align']==3){
...
}
elseif($mvNav['navcat_align']==4){
...
}
}
eval ("\$mvSiteNavBottom .= \"".mfGetTemplate("navigation_bottom")."\";");
eval ("\$mvSiteNavTop .= \"".mfGetTemplate("navigation_top")."\";");
eval ("\$mvSiteNavRight .= \"".mfGetTemplate("navigation_right")."\";");
eval ("\$mvSiteNavLeft .= \"".mfGetTemplate("navigation_left")."\";");
navigation_left.tpl
Code:
$mvSiteNavLeftBox
Code:
<table width="100%" class="navLeftTable" border="0" cellspacing="1" cellpadding="2"> <tr> <td class="navLeftHead" align="center"> $mvSiteNavLeftHead </td> </tr> <tr> <td class="navLeftBody"> $mvSiteNavLeftBody </td> </tr> </table> <img src="images/blank.gif" height="5" />
Code:
<table width="100%" class="navLeftTable" border="0" cellspacing="1" cellpadding="2"> <tr> <td class="navLeftHead" align="center"> $mvSiteNavLeftHead </td> </tr> $mvSiteNavLeftBody </table> <img src="images/blank.gif" height="5" />
Code:
<tr> <td class="$mvSiteNavClassBody"> <a href="$mvNavLink[nav_link]">$mvNavLink[nav_title]</a> </td> </tr>
Als ich es umgestellt habe, habe ich die ganzen eval Funktionen durch Smarty Funktionen ersetzt
PHP-Code:
// z.B.
eval ("\$mvSiteNavLeft .= \"".mfGetTemplate("navigation_left")."\";");
// in
$mcTpl->assign("mSiteNavLeft", $mcTpl->fetch('navigation_left.tpl'));
Kann mir vielleicht jemand sagen wie ich das machen muss, damit es klappt?
Smarty ist ziemlich genial...jedoch auch ziemlich schwer sich einzuarbeiten, weils doch sehr umfangreich ist
Würde mich über jede Antwort freue, die mir helfen könnte das Problem zu lösen.
Danke...=)
Kommentar