Page 1 of 1

Hilfe bei Navigation gesucht

Posted: Sun Aug 01, 2010 1:54 pm
by Dino
Hallo Leute

Ich habe mir erst eben das CMS Made Simple installiert und bin daran, eine Webseite mit diesem CMS zu realisieren. Ich komme aus dem Webdesign bereich. Somit habe ich mir ein Layout mit HTML/CSS gemacht und konnte dies auch mehr oder weniger Problemlos ins CMS integrieren.

Nur bei der Navigation habe ich Probleme. Ich möchte eine ganz simple Horizontale CSS navigation. Dazu verwende ich (wie in dem Tutorial Video, welches ich gebraucht habe) den MenüManager.

Template Datei:

Code: Select all

    <div id="naviBox">
    	{menu}
    </div> 
unter Layout-MenüManager habe ich dann mein neues Template (Kopie vom cssmenu.tpl) als Standart festgelegt, so das dieses durch den Platzhalter {menu} angesprochen wird.

Nun bin ich natürlich in der Kopie vom MenüManager Template einige Sachen am editieren. Unter anderen, dass die Navigation Horizontal ist und nicht Vertikal.

MenüManager Custom template:

Code: Select all

{* CSS classes used in this template:
#menuwrapper - The id for the <div> that the menu is wrapped in. Sets the width, background etc. for the menu.
#primary-nav - The id for the <ul>
.menuparent - The class for each <li> that has children.
.menuactive - The class for each <li> that is active or is a parent (on any level) of a child that is active. *}
{if $count > 0}
<div id="menuwrapper">
<ul id="primary-nav">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string='<ul class="unli">' 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->parent == true or ($node->current == true and $node->haschildren == true)}
<li class="menuactive menuparent">
<a class="menuactive menuparent" {elseif $node->current == true}
<li class="menuactive">
<a class="menuactive" {elseif $node->haschildren == true}
<li class="menuparent">
<a class="menuparent" {elseif $node->type == 'sectionheader' and $node->haschildren == true}
<li class="sectionheader"><span class="sectionheader">{$node->menutext}</span>{elseif $node->type == 'separator'}
<li [color=red][b]style="list-style-type: none; display: inline;"[/b][/color]> <hr class="menu_separator" />{else}
<li>
<a {/if}
{if $node->type != 'sectionheader' and $node->type != 'separator'}
{if $node->target}target="{$node->target}" {/if}
href="{$node->url}"><span>{$node->menutext}</span></a>
{elseif $node->type == 'sectionheader'}
><span class="sectionheader">{$node->menutext}</span></a>
{/if}
{/foreach}
{repeat string='</li></ul>' times=$node->depth-1}
</li>
</ul>
<div class="clearb"></div>
</div>
{/if}
Die Rote Zeile sollte ja die Navigation in eine Horizontale Navigation verwandeln. Leider passiert absolut gar nichts... egal wie oft ich den Cashe lösche, die Webseite per Ctrl+F5 Aktuallisiere.. die Navigation bleibt Vertikal.


Was muss ich alles noch einstellen?

Wie gesagt, ist mein erster versuch mit CMSMS eine Webseite zu realisieren. Ich verwende die neuste Version vom CMSMS (1.8.1) und MenuManager 1.6.5

Gibt es irgendwo gute Komplett Tutorials/guides?


Hier wäre meine Testumgebung. Ist alles noch relativ im "roh" Zustand. Content Formatierung und so fehlt alles noch...
http://cms.dinomeyer.ch/

Gruss Dino

Re: Hilfe bei Navigation gesucht

Posted: Sun Aug 01, 2010 2:29 pm
by nockenfell
Die Navigation wird nicht im MenuTemplate in ein list-style:none umgewandelt. Dies musst du extern im Stylesheet machen.

Die von dir markierte Zeile ist für den Inhaltstyp "Trenner" und hat nichts mit dem Rest des Menüs zu tun.

am einfachsten schaust du dir ein Default-Template an und verwendest das entsprechende Stylesheet als Vorlage.

Re: Hilfe bei Navigation gesucht

Posted: Mon Aug 02, 2010 9:24 am
by Dino
Also ich muss die Navigation im "normalen" Stylesheet konfigurieren, welches ich für das Layout gemacht habe?

Ich werde es versuchen ;) Danke für die Hilfe

Edit:
Habs Geschafft. Ich habe folgende Zusatzformatierungen in mein CSS geschrieben.

Code: Select all

#naviBox {
	position:			absolute;
	width:			970px;
	height:			32px;
	top:				187px;
	left:				27px;
	border-bottom:	1px solid #000000;
	border-top:		1px solid #000000;
	margin:			0px;
	padding:		        0px;
	}
	
#naviBox ul {
	margin:			7px 0px 0px -40px;
	}

#naviBox ul li {
	display: 			inline;
	list-style-type:   	none;
	margin:			0px 0px 0px 10px;
	}
	
#naviBox ul li a {
	text-decoration:	none;
	color:			#000000;
	}
	
#naviBox ul li a:hover {
	text-decoration:	underline;
	}
Aber, der MenüManager macht schon einige Formatierungen. Deswegen musste ich noch extra das UL ansprechen und dort mit - Margin Werten dies wieder zu korrigieren. Kann ich diese vordefinierten Formatierungen ausschalten?

Aktuell sind es folgende Elemente:

DIV ID= menuwrapper

UL ID= primary-nav

Diese zwei musste ich korrigieren. Aber ich habe es nicht gerne, wenn ich Elemente doppelt Formatiere... Dann muss nur ein Browser die Prioritäten der Formatierung anders interpretieren und schon hat man ein Chaos...

Re: Hilfe bei Navigation gesucht

Posted: Mon Aug 02, 2010 9:55 am
by nockenfell
Dino wrote: Aber, der MenüManager macht schon einige Formatierungen. Deswegen musste ich noch extra das UL ansprechen und dort mit - Margin Werten dies wieder zu korrigieren. Kann ich diese vordefinierten Formatierungen ausschalten?

Aktuell sind es folgende Elemente:

DIV ID= menuwrapper

UL ID= primary-nav

Diese zwei musste ich korrigieren. Aber ich habe es nicht gerne, wenn ich Elemente doppelt Formatiere... Dann muss nur ein Browser die Prioritäten der Formatierung anders interpretieren und schon hat man ein Chaos...
Diese kannst du direkt im MenüManager Template ändern. Hier werden die Stylesheet IDs gesetzt. Falls du aus dem Standardtemplate noch kein individuelles Template gemacht hast, kannst du das Standardtemplate kopieren und danach die von dir nicht gewünschten id="primary-nav" rauslöschen.

Re: Hilfe bei Navigation gesucht

Posted: Mon Aug 02, 2010 11:01 am
by Dino
Super :) Vielen Dank

Ich habe bereits von Anfang an eine Kopie eines MenüManager Template gemacht, da ich eigentlich immer alles selber Formatieren will ;)

Aber, wo werden denn die ID's per CSS Definiert? Man hat ja kein zusätzliches Stylesheet vom MenüManager einbinden müssen. Oder sind diese ID's irgendwo Global Definiert?

Re: Hilfe bei Navigation gesucht

Posted: Mon Aug 02, 2010 11:29 am
by NaN
Welche Stylesheets sind denn mit Deinem Template verknüpft?

Re: Hilfe bei Navigation gesucht

Posted: Mon Aug 02, 2010 11:32 am
by nockenfell
CSS: Neben den von dir eingebundenen Stylesheets gibt es keine weiteren "verstecken" Stylesheets. Wenn eine ID in einem dieser Stylesheets nicht definiert ist, wird sie auch nirgends sonst definiert.

MenuTemplate: Hier werden die CSS IDs reingeschrieben welche das Menü stylen.

Ich hoffe du verstehst damit mehr.

Ev zur Verständigung: Verwendest du ein Manuell eingebundenes CSS oder den Stylesheet Tag von CMSMS?

Re: Hilfe bei Navigation gesucht

Posted: Mon Aug 02, 2010 11:45 am
by Dino
Also ich habe ein eigenes HTML Template erstellt. Dazu habe ich ein passendes CSS geschrieben, welches ich dem Template zugewiesen habe. Also alles selfmade. Bis jetzt habe ich nur dieses eine CSS dem Template zugewiesen.

Beim MenüManager habe ich das cssmenu.tpl kopiert, editiert und als eigenes Template abgespeichert. Nun sind aber immer noch einige ID's in diesem kopierten Template vorhanden, welche nicht von mir sind. Aber soweit ich es jetzt verstanden habe, werden diese ID's bzw Class nirgends Definiert. Also solange ich nicht in meinen CSS diese ID/Class anspreche, sind diese überflüssig...

sehe ich das richtig so?


Jedenfalls danke für die Hilfe. Im Moment sind zwar noch einige "überflüssige" ID's/Class vorhanden, aber die werden ja nicht Definiert. Also auch egal. Die Navigation ist aber jetzt so, wie ich sie haben wollte ;)

Re: Hilfe bei Navigation gesucht

Posted: Mon Aug 02, 2010 12:02 pm
by nockenfell
Lösche diese HTML Tags einfach aus dem Menütemplate:

{* CSS classes used in this template:
#menuwrapper - The id for the that the menu is wrapped in. Sets the width, background etc. for the menu.
#primary-nav - The id for the
.menuparent - The class for each that has children.
.menuactive - The class for each that is active or is a parent (on any level) of a child that is active. *}
{if $count > 0}


......




{/if}


Zur Info: Das MenüTemplate ist reines HTML versetzt mit Smarty Tags und einer foreach Schleife. Du kannst darin die HTML Tags problemlos editieren. Allerdings musst du versuchen den Smarty-Code zu verstehen, damit du auch weisst was genau wo passiert. Am einfachsten die Hilfe des MenüManagers durchlesen. Hier sind die einzelnen Variablen erklärt.