Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PEAR, PECL und Frameworks > Navigation auf Smarty umstellen?!
Antwort
 
Themen-Optionen
Alt 09.01.2006, 19:42   Nach oben    #1
Neuer Benutzer
 
Registriert seit: 09.01.2006
Beiträge: 3
Standard 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:

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){
        
$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 src="images/blank.gif" height="5" />
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 src="images/blank.gif" height="5" />
navigation_lin.tpl
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')); 
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...=)
napsio ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.01.2006, 10:18   Nach oben    #2
Erfahrener Benutzer
 
Benutzerbild von dejan_spasic
 
Registriert seit: 05.01.2006
Ort: Düsseldorf
Beiträge: 169
Standard

PHP-Code:
$mcTpl->assign("mSiteNavLeft"'Foo');
print 
$mcTpl->fetch('navigation_left.tpl');
//oder
$mcTpl->display('navigation_left.tpl'); 
http://smarty.php.net/manual/de/
__________________
Da wir alle in einem Boot sitzen, ist es gut, dass wir nicht alle auf einer Seite stehen... (mir unbekannt)
dejan_spasic ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.01.2006, 14:24   Nach oben    #3
Neuer Benutzer
 
Registriert seit: 09.01.2006
Beiträge: 3
Standard

darum gings mir ja nicht....das habe ich schon aus der doku rauslesen können...mir ging es darum mehrere dateien untereinander in dem template reinzuladen...bzw. eine variable durch templates zu ersetzen...habe es aber hinbekommen indem ichs durch strings reingepackt habe
napsio ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.01.2006, 15:37   Nach oben    #4
Master of Disaster
 
Benutzerbild von Matthias959
 
Registriert seit: 18.08.2005
Ort: Duisburg
Beiträge: 36
Standard

Probier mal:

PHP-Code:
{include_php file=example.php
__________________
Matthias959 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.01.2006, 19:22   Nach oben    #5
Neuer Benutzer
 
Registriert seit: 09.01.2006
Beiträge: 3
Standard

habs schon hinbekommen...habs über trings gelöst
napsio ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Regexp umstellen von " auf ' bei preg_match_all dago PHP-Programmierung 8 02.02.2007 21:33
[PHP] FTP-Funktionen in PHP nutzen MrNiceGuy Tutorials 0 24.05.2006 14:18
Seite auf Templates umstellen? björn PHP-Programmierung 4 02.05.2006 21:37
[PHP] Aktuell gespielten Titel von XMMS auf einer Webseite in einer Grafik anzeigen Corvin Tutorials 0 28.11.2005 16:26
Login auf mehreren Domains Homepagespeicher PHP-Programmierung 17 21.08.2005 16:54


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:41 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44