php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.01.2006, 19:46  
Gast
 
Beiträge: n/a
Standard [Erledigt] Navigation auf Smarty umstellen?!

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:

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){
		$mvSiteNavClassBody = 'navRightBody';
		$mvSiteNavClassTable = 'navRightTable';
		unset($mvSiteNavRightHead);
		unset($mvSiteNavRightBody);
		if($mvNav['navcat_box']!=""){
			include("navigation/".$mvNav['navcat_box']);
			$mvSiteNavRightHead=$mvNav['navcat_title'];
			eval ("\$mvSiteNavRightBody .= \"".mfGetTemplate($mvNavTemplate)."\";");
			eval ("\$mvSiteNavRightBox .= \"".mfGetTemplate("navigation_right_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 = "navRightBody";
				$mvSiteNavClassTable = 'navRightTable';
				eval ("\$mvSiteNavRightBody .= \"".mfGetTemplate("navigation_link")."\";");
			}
			$mvSiteNavRightHead=$nav['navcat_title'];
			eval ("\$mvSiteNavRightBox .= \"".mfGetTemplate("navigation_right_link_box")."\";");
		}
	}
	elseif($mvNav['navcat_align']==3){
		$mvSiteNavClassBody = 'navTopBody';
		$mvSiteNavClassTable = 'navTopTable';
		unset($mvSiteNavTopHead);
		unset($mvSiteNavTopBody);
		if($mvNav['navcat_box']!=""){
			include("navigation/".$mvNav['navcat_box']);
			$mvSiteNavTopHead=$mvNav['navcat_title'];
			eval ("\$mvSiteNavTopBody .= \"".mfGetTemplate($mvNavTemplate)."\";");
			eval ("\$mvSiteNavTopBox .= \"".mfGetTemplate("navigation_top_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 = "navTopBody";
				$mvSiteNavClassTable = 'navTopTable';
				eval ("\$mvSiteNavTopBody .= \"".mfGetTemplate("navigation_link")."\";");
			}
			$mvSiteNavTopHead=$mvNav['navcat_title'];
			eval ("\$mvSiteNavTopBox .= \"".mfGetTemplate("navigation_top_link_box")."\";");
		}
	}
	elseif($mvNav['navcat_align']==4){
		$mvSiteNavClassBody = 'navBottomBody';
		$mvSiteNavClassTable = 'navBottomTable';
		unset($mvSiteNavBottomHead);
		unset($mvSiteNavBottomBody);
		if($mvNav['navcat_box']!=""){
			include("navigation/".$mvNav['navcat_box']);
			$mvSiteNavBottomHead=$mvNav['navcat_title'];
			eval ("\$mvSiteNavBottomBody .= \"".mfGetTemplate($mvNavTemplate)."\";");
			eval ("\$mvSiteNavBottomBox .= \"".mfGetTemplate("navigation_bottom_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 = "navBottomBody";
				$mvSiteNavClassTable = 'navBottomTable';
				eval ("\$mvSiteNavBottomBody .= \"".mfGetTemplate("navigation_link")."\";");
			}
			$mvSiteNavBottomHead=$mvNav['navcat_title'];
			eval ("\$mvSiteNavBottomBox .= \"".mfGetTemplate("navigation_bottom_link_box")."\";");
		}
	}
}
eval ("\$mvSiteNavBottom .= \"".mfGetTemplate("navigation_bottom")."\";");
eval ("\$mvSiteNavTop .= \"".mfGetTemplate("navigation_top")."\";");
eval ("\$mvSiteNavRight .= \"".mfGetTemplate("navigation_right")."\";");
eval ("\$mvSiteNavLeft .= \"".mfGetTemplate("navigation_left")."\";");
Die Templates dazu (nur für navigation_left, da sich die anderen ziemlich gleichen):

navigation_left.tpl
Code:
$mvSiteNavLeftBox
navigation_left_box.tpl
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]images/blank.gif[/img]
navigation_left_link_box.tpl
Code:
<table width="100%" class="navLeftTable" border="0" cellspacing="1" cellpadding="2">
	<tr>
		<td class="navLeftHead" align="center">
			$mvSiteNavLeftHead
		</td>
	</tr>
			$mvSiteNavLeftBody  
</table>
[img]images/blank.gif[/img]
navigation_lin.tpl
Code:
	<tr>
		<td class="$mvSiteNavClassBody">
			$mvNavLink[nav_title]
		</td>
	</tr>

Als ich es umgestellt habe, habe ich die ganzen eval Funktionen durch Smarty Funktionen ersetzt

Code:
// z.B.

eval ("\$mvSiteNavLeft .= \"".mfGetTemplate("navigation_left")."\";");

// in

$mcTpl->assign("mSiteNavLeft", $mcTpl->fetch('navigation_left.tpl'));
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...=)[/php]
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.01.2006, 19:46  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Jaja, das ist einfach ein geiler Highlighter .. *g* *schadenfroh is*
imported_Ben ist offline   Mit Zitat antworten
Alt 09.01.2006, 19:49  
Gast
 
Beiträge: n/a
Standard

so...n bisschen besser...hehe
  Mit Zitat antworten
Alt 10.01.2006, 09:19  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Warum so stark in einzelne Datei aufgesplittet?
Würde sich zum anderen auch auf die Übersichtlichkeit auf Dateiebene auswirken, wenn du die Navigation komplett in eine Datei legen würdest.

Ansonsten verstehe ich dein Problem nicht, erwartest du das dir jemand das Script schreibt?
In Smarty einzuarbeiten ist doch leicht vor allen weil es die komplette Doku offiziell auch auf Deutsch gibt.

Aber das sollte das sein was du suchst
http://smarty.php.net/manual/de/lang...unction.assign
__________________
Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.
HStev ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Smarty + MySQL = immer falsche Ausgabe m0use` PHP Tipps 2006 44 21.11.2008 20:30
Navigation fixen Desert PHP Tipps 2008 0 12.05.2008 17:00
Smarty: Templatedateien werden nicht aktualisiert! DER_Brain PHP Tipps 2008 9 24.04.2008 22:40
Problem mit Smarty ccfirefox HTML, Usability und Barrierefreiheit 1 25.10.2007 16:19
Was ist Aufgabe des Templates (Smarty), was nicht? agrajag PHP Tipps 2007 8 24.02.2007 13:19
Smarty => 1ste allgemeine Verunsicherung Canni PHP Tipps 2006 7 10.10.2006 17:56
Smarty + Oop Problem Komandar PHP Tipps 2006 5 25.07.2006 14:36
Smarty verschachtelt snatch-ic PHP Tipps 2006 16 28.02.2006 20:54
Navigation snatch-ic PHP Tipps 2007 4 08.01.2006 12:11
Frage zu Smarty PHP Tipps 2005-2 10 07.07.2005 14:49
Smarty Error Simon9990 PHP Tipps 2005-2 8 07.07.2005 09:34
Smarty und X-Cart Profis gesucht Beitragsarchiv 1 21.05.2005 13:38
[Erledigt] includepathproblem pear blockiert smarty und umgekehrt PHP Tipps 2005 1 08.05.2005 18:46
Mit Templates Navigation erstellen? (welches Templatesyste?) zwelch PHP Tipps 2004-2 5 18.11.2004 15:14
Smarty? Die wesentlichen Vorteile? Off-Topic Diskussionen 7 20.09.2004 13:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
smarty navigation, navigation mit smarty, navigation smarty, smarty unset, navigation with smarty, page navigation smarty, navigation mit smarty erstellen, smarty nav, smarty navi, seitennavigation mit smarty, smarty navigation erstellen, menu mit smarty, smarty php navigation, smarty navigation kategorie, mysql smarty navigation, smarty navigation mysql, umstellung smarty 2 3, unset smarty, seiten smarty navigation, smarty {unset}

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:02 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.