• twitter image
  • facebook image
  • youtube image
  • linkedin image
Language: CMS Made Simple Czech CMS Made Simple France CMS Made Simple Hungary CMS Made Simple Russia CMS Made Simple Netherlands

All times are UTC




Post new topic This topic is locked, you cannot edit posts or make further replies.  [ 10 posts ] 
Author Message
 Post subject: [Lösung] Mehrere Navigationsboxen
PostPosted: Wed Jul 25, 2007 12:45 pm 
Offline
New Member
New Member

Joined: Wed Jul 04, 2007 2:08 pm
Posts: 7
So, nach viel Rumprobieren, Kopfschmerzen und einigen Ärgernissen ist mir eine kleine Idee gekommen, wie man wunderbar mehrere Navigationsboxen verwenden kann.

Schritt 1: Vorgabe öffnen

Als aller erstes öffnen wir mal die Navigationsvorlage minimal_menu.tpl, dessen Code wir als Vorlage für unsere neue Navigation verwenden wollen. Zur besseren Veranschaulichung der komplette Code:
Code:
{* CSS classes used in this template:
.currentpage - The active/current page
.bullet_sectionheader - To style section header
hr.separator - To style the ruler for the separator *}
{if $count > 0}
<ul class="clearfix">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string="<ul>" times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string="</li></ul>" times=$node->prevdepth-$node->depth}
</li>
{elseif $node->index > 0}</li>
{/if}

{if $node->current == true}
<li><a href="{$node->url}" class="currentpage"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{elseif $node->parent == true && $node->depth == 1}
<li class="activeparent"> <a href="{$node->url}" class="activeparent"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{elseif $node->type == 'sectionheader'}
<li class="sectionheader">{$node->menutext}

{elseif $node->type == 'separator'}
<li style="list-style-type: none;"> <hr class="separator" />

{else}
<li><a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{/if}

{/foreach}

{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}


Schritt 2: Code säubern

Nun entfernen wir
    und

(Achtung! Nicht alle -Tags löschen. Der überflüssige Tag sollte sich in der 2 letzten Zeile vor {/if}  befinden)

Schritt 3: Abfragen einfügen

Damit Smarty nun weiß, ob ein neuer
    -Container angefangen werden soll, müssen wir die verschiedenen Möglichkeiten per if-Abfragen abfangen.

    Suche:
    Code:
    {if $node->current == true}


    Füge darunter ein:
    Code:
    {if $node->type != 'sectionheader' and $node->hierarchy == 1}
                <ul class="submenu">
    {/if}


    (Wenn der Menüpunkt an Position 1 steht und aktiv ist, wird überprüft ob dieser ein 'sectionheader' ist. Falls dies nicht der Fall ist, dann wird ein neuer
      -Container erzeugt. Zeile 3 im Code sollte angepasst werden!)

      Suche:
      Code:
      {elseif $node->type == 'sectionheader'}


      Füge darunter ein:
      Code:
      {if $node->hierarchy != 1}
                  </ul>
      {/if}


      (Mittels Abfrage soll verhindert werden, dass beim Titel (sectionheader) der 1. Navigation kein überflüssiger
        -Tag am Anfang ensteht.)

        Suche:
        Code:
        {elseif $node->type == 'separator'}
                          <li style="list-style-type: none;"> <hr class="separator" />
        {else}


        Füge darunter ein:
        Code:
        {if $node->type != 'sectionheader' and $node->hierarchy == 1}
                    <ul class="submenu">
        {/if}


        (Die gleiche Abfrage wie beim aktiven Menüpunkt, nur diesmal für den Standard-Menüpunkt.)

        Schritt 4: Überschriften der Navigationsboxen anpassen

        Suche:
        Code:
        {elseif $node->type == 'sectionheader'}
        {if $node->hierarchy != 1}
                    </ul>
        {/if}
        <li class="sectionheader">{$node->menutext}


        Passe nun
        Code:
        <li class="sectionheader">{$node->menutext}

        deinen eigenen Wünschen an.
        Dazu solltet ihr zuerst einmal den
      • -Tag entfernen, da dieser nun überflüssig ist.
        Zudem ist es wichtig, dass ihr noch
        Code:
                    <ul class="submenu">

        anfügt.

        Das ganze könnte dann ung. so aussehen:

        Code:
        {elseif $node->type == 'sectionheader'}
        {if $node->hierarchy != 1}
                    </ul>
        {/if}
                       <h1  class="sectionheader">{$node->hierarchy}: {$node->menutext}</h1>
                    <ul class="submenu">



        Wenn ihr das ganze fertig habt, wird euch folgender Code generiert:

        Code:
        <h1 class="sectionheader">Navigationsbox 1</h1>
           <ul class="submenu">
                    <li>Menüpunkt 1</li>
                         <li>Menüpunkt 2</li>
                 </ul>

        <h1 class="sectionheader">Navigationsbox 2</h1>
           <ul class="submenu">
                    <li>Menüpunkt 1</li>
                         <li>Menüpunkt 2</li>
                 </ul>


        usw...

        Schritt 5: Abspeichern ;)

        Speichert den geänderten Code am besten in eine neue Datei, z.B. mit Namen multiple_menues.tpl.
        Als letzten Schritt müsst ihr nur noch in eurem Template die neue Navigation eintragen.

        Tipp: Um eine neue Navigationsbox zu erstellen, müsst ihr unter Neue Seite hinzufügen bei Inhaltstyp SectionHeader auswählen.

        So, das wars. Ich hoffe ihr könnt damit etwas anfangen.
        Viel Spaß!

        MfG demon_firefox


Last edited by demon_firefox on Wed Jul 25, 2007 6:58 pm, edited 1 time in total.

Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: [Lösung] Mehrere Navigationsboxen
PostPosted: Mon Aug 06, 2007 10:45 am 
Gute Arbeit - besten Dank für dein Posting!


Last edited by cyberman on Tue Aug 07, 2007 6:51 pm, edited 1 time in total.

Top
   
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: [Lösung] Mehrere Navigationsboxen
PostPosted: Mon Feb 04, 2008 5:00 pm 
Offline
Forum Members
Forum Members

Joined: Wed Feb 28, 2007 7:33 am
Posts: 28
Wow genial, das hab ich die ganze Zeit ge- und versucht, vielen Dank!

Nun würde ich aber gerne zwischen Navigationsbox1 und 2 ein Bild (.jpg) einfügen, dass keine Funktion haben soll.


Code:
<h1 class="sectionheader">Navigationsbox 1</h1>
   <ul class="submenu">
            <li>Menüpunkt 1</li>
                 <li>Menüpunkt 2</li>
         </ul>
>>>> Bild.jpg <<<<<<<<<
<h1 class="sectionheader">Navigationsbox 2</h1>
   <ul class="submenu">
            <li>Menüpunkt 1</li>
                 <li>Menüpunkt 2</li>
         </ul>



Beste Grüße
Nicolas


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: [Lösung] Mehrere Navigationsboxen
PostPosted: Wed Feb 06, 2008 3:50 pm 
Du könntest den Inhaltstyp "Separator" verwenden und dort deine Bild einfügen. Im Template "simple_navigation' ist dieser Part für Separatoren (=Trenner) zuständig:

Code:
{elseif $node->type == 'separator'}
<li class="separator" style="list-style-type: none;"> <hr />


Für dich müsste das Template also in etwa so aussehen

Code:
{elseif $node->type == 'separator'}
<li class="separator" style="list-style-type: none;"> <img src="pfad/zu/deinem/bild.jpg" ... />


Last edited by cyberman on Wed Feb 06, 2008 3:52 pm, edited 1 time in total.

Top
   
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: [Lösung] Mehrere Navigationsboxen
PostPosted: Sun Jun 15, 2008 12:37 pm 
Offline
Forum Members
Forum Members

Joined: Mon Jun 02, 2008 8:14 am
Posts: 33
Hallo,

ich habe die minimal_menu.tpl wie beschrieben geändert und im Menümanager
unter multiple_menues.tpl abgespeichert. Wenn ich im Template über
{menu template='multiple_menues.tpl'} das Menü aufrufen möchte, dann kommt immer:

string(88) "Smarty error: unable to read resource: "module_file_tpl:MenuManager;multiple_menues.tpl""

Was mache ich falsch?

Gruß
Jimbob


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: [Lösung] Mehrere Navigationsboxen
PostPosted: Sun Jun 15, 2008 1:39 pm 
Jim_Bob wrote:
...
ich habe die minimal_menu.tpl wie beschrieben geändert und im Menümanager
unter multiple_menues.tpl abgespeichert.
...


D.h. das Template befindet sich in der Datenbank.
Dann sollte es keine Dateinamenserweiterung wie .tpl haben.
Wenn Du im Template Dein Menü mit "multiple_menues.tpl" aufrufst, sucht der MenuManager automatisch nach einer Datei namens "multiple_menues.tpl" im Ordner modules/MenuManager/Templates. Da er diese dort nicht finden kann, kommt es zu einer Fehlermeldung.

Du müsstest also entweder Dein Template nur "multiple_menues" nennen, oder als Datei unter modules/MenuManager/templates/multiple_menues.tpl speichern.


Top
   
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: [Lösung] Mehrere Navigationsboxen
PostPosted: Sun Jun 15, 2008 2:17 pm 
Offline
Forum Members
Forum Members

Joined: Mon Jun 02, 2008 8:14 am
Posts: 33
Yepp, das wars.
Danke für die schnelle Hilfe.


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: [Lösung] Mehrere Navigationsboxen
PostPosted: Thu Aug 27, 2009 9:19 am 
Offline
Forum Members
Forum Members

Joined: Wed Apr 22, 2009 2:54 pm
Posts: 180
ok, ich hab mir das ganze konstrukt da oben mal zu gemüte geführt, aber irgendwie .... es kommt bei mir nur html technischer schmonz raus. anscheinend verstehe ich nicht wirklich wo ich was einzufügen habe:

mein template sieht jetzt so aus:

Code:
{* CSS classes used in this template:
.currentpage - The active/current page
.bullet_sectionheader - To style section header
hr.separator - To style the ruler for the separator *}
{if $count > 0}

{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string="<ul>" times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string="</li></ul>" times=$node->prevdepth-$node->depth}
</li>
{elseif $node->index > 0}</li>
{/if}

{* Special Alias

{if $node->index == 0}
<li id="element0"><a href="{$node->url}" {if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>
{elseif $node->index == 1}
<li id="element1"><a href="{$node->url}" {if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>
{elseif $node->index == 2}
<li id="element2"><a href="{$node->url}" {if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>
{elseif $node->index == 3}
<li id="element3"><a href="{$node->url}" {if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>
{elseif $node->index == 4}
<li id="element4"><a href="{$node->url}" {if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>
*}


{if $node->current == true}
{if $node->type != 'sectionheader' and $node->hierarchy == 1}
            <ul class="submenu">
{/if}
<li><a href="{$node->url}" class="currentpage"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{elseif $node->parent == true && $node->depth == 1 and $node->type != 'sectionheader' and $node->type != 'separator'}
<li class="activeparent"> <a href="{$node->url}" class="activeparent"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{elseif $node->type == 'sectionheader'}
{if $node->hierarchy != 1}
            </ul>
{/if}
<li class="sectionheader">{$node->menutext}

{elseif $node->type == 'separator'}
{if $node->type != 'sectionheader' and $node->hierarchy == 1}
            <ul class="submenu">
{/if}
<hr class="separator" />
<ul class="submenu">
{else}
<li><a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{/if}

{/foreach}

{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}


ich möchte eigentlich nur den submenupunkten einen anderen stil als den hauptmenupunkten zuweisen.
was mache ich da hier falsch?

danke
leerraum


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: [Lösung] Mehrere Navigationsboxen
PostPosted: Sat Aug 29, 2009 7:39 am 
Offline
Forum Members
Forum Members

Joined: Wed Apr 22, 2009 2:54 pm
Posts: 180
ich grübel immernoch.... hmmm


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: [Lösung] Mehrere Navigationsboxen
PostPosted: Sat Aug 29, 2009 2:11 pm 
leerraum wrote:
ich möchte eigentlich nur den submenupunkten einen anderen stil als den hauptmenupunkten zuweisen.
was mache ich da hier falsch?

Dann ist das hier der falsche Ansatz für Dich.
Den Stil änderst Du im Stylesheet.


Last edited by NaN on Sat Aug 29, 2009 2:13 pm, edited 1 time in total.

Top
   
 
Share On:
Share on Facebook Share on Twitter Share on Google+
Display posts from previous:  Sort by  
Post new topic This topic is locked, you cannot edit posts or make further replies.  [ 10 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
HostPapa CMS Made Simple hosting