Author Topic: Untermenues versetzten  (Read 5249 times)

leachim

  • Guest
Untermenues versetzten
« on: October 08, 2006, 07:32:03 PM »
Hallo zusammen,

Ich habe das Tamplet micromedia installiert.

Nun sind sehr viele Untermenüs dazu gekommen und es sieht nun im Menuebaum nichtmehr so schön aus.

Ich würde gerne wenn es in ein Untermenü geht diesen Menuepunkt einrücken. Was schön währe, mit einem Punkt, so wie es eigentlich auch bei dem Tamplet Zack blue Cream sein sollte.
( leider geht das versetzten auch hier nicht, trotzdem die Indent.jpg im richtigen Verzeichniss liegen.


Frage: Kann mir jemand helfen, wie ich dieses in PHP realisieren kann, das ich die Untermenüs jeweils mit einem Punkt ( Bilchen ) bei einrücken versehen kann?

root baum
      - 1te Ebene
          - 2te Ebene
               - 3te Ebene
                                                 - = Bildchen

Könnte mir bitte jemand ein Beispiel zeigen, wie das geht?

Am interessantesten währe es, wenn nicht je Ebene mit einem passenden Bildchen aufgeruft wird, sonden nur ein Bild, das jeweils um einen gewissen pixelbetrag eingerückt wird.

Ich hoffe, das jemand in diesem richtig gutem Forum mir weiter helfen kann.

Euch allen einen schönen Tag noch

Gruß

leachim

Offline kweitzel

  • WebsiteBaker Org e.V.
  • **
  • Posts: 6983
  • Gender: Male
Re: Untermenues versetzten
« Reply #1 on: October 08, 2006, 07:39:50 PM »
CSS ... like everything having to do with layout, you can style it with CSS.

Hop over to the listamatic2 page of css.maxdesign.com.a u and have a look at the techniques they used over there. It's exactly what you want to do ... nested lists.

cheers

Klaus

leachim

  • Guest
Re: Untermenues versetzten
« Reply #2 on: October 12, 2006, 06:42:05 PM »
Hallo Klaus,

Leider habe ich hier auch nicht das Richtige gefunden.

Hat jemand vieleicht eine IDEE?

Irgendswie muss ich doch abfragen können wie tief ich nun im Verzeichnissbeuam bin.
ob 1te Ebene oder 5 Ebene.

Wenn man das Abfragen könnte, dann müsste man der Variablen doch auch ein Bild zuweisen können.

Hat jemand eine Idee wie das gehen kann?

Gibt es vieleicht ein Befehlshandbuch vom WebsiteBaker?
Ich würde mich iber infos sehr freuen



Gruß

leachim




Offline kweitzel

  • WebsiteBaker Org e.V.
  • **
  • Posts: 6983
  • Gender: Male
Re: Untermenues versetzten
« Reply #3 on: October 12, 2006, 07:40:55 PM »
Entsculdige übrigens, dass ich englisch geschrieben habe ... war etwas überarbeitet :-D

Hast Du schon mal daran gedacht das Menü zu trennen? Sprich ein Hauptmenü (nur die Hauptmenüpunkte) und dann den Rest in einem Untermenü?

Ich bin zur Zeit an einer HP dran, wo ich genau das mache, schau mal hier: barbie.weitzel.info - unter dem Punkt "DOLLS" findest Du das Untermenü.

Ich hatte den Verweis auf css.maxdesign.com.a u/listamatic2 gemacht, weil es da um das Styling von eingebetteten Listen geht, welches genau die Art und weise ist, wie WB seine Standart Menüs generiert. D.H. die Techniken, die Du da siehst, können ein-zu-eins oder auch in abgewandelter Form übernommen werden.

Schau Dir auch mal die Erklärungen im WIKI an, da ist ein bisschen über die Menüfunktionen zu erfahren, vielleicht hilft Dir das weiter.

Gruß

Klaus

Offline ruebenwurzel

  • Betatester
  • **
  • Posts: 8391
  • Gender: Male
  • Keep on Rockin
    • Familie Gallas Online
Re: Untermenues versetzten
« Reply #4 on: October 12, 2006, 11:34:33 PM »
Hallo,

Schau mal in den sourcecode des generierten Menüs. In der Regel werden die al Listen ausgegeben. Jeder Unterpunkt wird eine neue Liste. Also

1. Ebene: li
2. Ebene: li li
3. Ebene: li li li     usw.

Dieses Verhalten kann man in der CSS Datei dann konfigurieren. Also z.B.

Code: [Select]
menu li {
    margin-left: 5px;
    background-image: url(picture1.gif)
}
menu li li {
    margin-left: 10px;
    background-image: url(picture2.gif)
}
menu li li li {
    margin-left: 15px;
    background-image: url(picture2.gif)
}

Habs nicht ausprobiert, ist nur Theorie und funktioniert mit dem obigen Code so nicht. Schau dir da die Links von Klaus an, dort siehst du wie man Menüs mit images davor im CSS einrichtet.

Matthias

leachim

  • Guest
Re: Untermenues versetzten
« Reply #5 on: October 17, 2006, 11:26:29 PM »
Hallo Klaus,

nochmals Danke für den Hinweis.

Deine Idee mit den Untermenüs ist nicht schlecht, ich muss mal sehen, ob ich das in der HP auch so machen kann, denn das würde eine Umgestaltung bedeuten.

Kannst du vieleicht diesen Teil deines Quellcodes offenlegen, das man mal ein wenig probieren kann?


Hallo Matthias,

Danke für deinen hinweis.

Ich werde versuchen mich morgen mal hinzusetzten und mal zu probieren.
Ich hoffe, das ich es in meinem Tamplet auch hinbekomme mit deiner Idee.

Wenn nicht, könntet ihr mir vieleicht behilflich sein?

Gruß

leachim

Offline kweitzel

  • WebsiteBaker Org e.V.
  • **
  • Posts: 6983
  • Gender: Male
Re: Untermenues versetzten
« Reply #6 on: October 18, 2006, 08:45:32 AM »
Ich habe einfach 2 Menücalls gesetzt und dann diese hier als CSS für das Menü:

Code: [Select]
/* Navigation Menu 1 (Top Level) */

.navcontainer ul
{
margin: 0;
padding: 0;
list-style-type: none;
font-family: Arial, Helvetica, sans-serif;
font-size: 16px;
font-weight: bold;
}

.navcontainer li { margin: 0 0 3px 0; }

.navcontainer li li
{
margin-top: 3px;
margin-left: 5px;
}

.navcontainer li a
{
display: block;
padding: 2px 2px 2px 24px;
border: 1px solid #333;
width: 160px;
background-color: #999;
background-image: url(<?php echo TEMPLATE_DIR?>/l1_down.gif);
}

.navcontainer li li a
{
display: block;
margin-left: 10;
padding: 2px 2px 2px 24px;
border: 1px solid #333;
width: 150px;
background-color: #999;
background-image: url(<?php echo TEMPLATE_DIR?>/l2_down.gif);
}


.navcontainer li a:link, .navlist a:visited
{
color: #EEE;
text-decoration: none;
}

.navcontainer li li a:link, .navlist li li a:visited
{
color: #EEE;
text-decoration: none;
}

.navcontainer li a:hover
{
border: 1px solid #333;
background-color: #F60;
background-image: url(<?php echo TEMPLATE_DIR?>/l1_over.gif);
color: #FFF;
}

.navcontainer li li a:hover
{
border: 1px solid #333;
background-color: #F60;
background-image: url(<?php echo TEMPLATE_DIR?>/l2_over.gif);
color: #FFF;
}

.menu_current a:link, .menu_current a:visited, .menu_curent a:hover
{
border: 1px solid #333;
background-color: #FF6600;
background-image: url(<?php echo TEMPLATE_DIR?>/l2_over.gif);
color: #FFF;
}

.menu_current li a:link, .menu_current li a:visited, .menu_curent li a:hover
{
border: 1px solid #333;
background-color: #FF6600;
background-image: url(<?php echo TEMPLATE_DIR?>/l2_over.gif);
color: #FFF;
}

.menu_current li li a:link, .menu_current li li a:visited, .menu_curent li li a:hover
{
border: 1px solid #333;
background-color: #FF6600;
background-image: url(<?php echo TEMPLATE_DIR?>/l2_over.gif);
color: #FFF;
}

Dieser CSS Code ist als Style Definition in der Index datei, da ansonsten die TEMPLATE_DIR Variable nicht funktioniert

Gruß

Klaus

Offline Ditron

  • Posts: 92
Re: Untermenues versetzten
« Reply #7 on: January 16, 2007, 08:52:49 PM »
Moin!

Z.Zt. baue ich eine Seite mit dem Template "Blue Leaves" auf. Genau wie leachim möchte ich die Anzeige des Menüs auf der linken Seite etwas ändern.

In der waagerechten Navigationsleiste wird ja die erste Ebene angezeigt. Wird dort eine Menüpunkt angeklickt und enhält dieses Unterebenen, werden diese in der "Sidebar" angezeigt. Die dortige Anzeige unterscheidet leider nicht in weiteren Unterebenen. Wie schaffe ich es, das weitere Unterebenen weiter eingerückt werden?

Also:

Unterebene1
   Unterebene1a
   Unterebene1b
Unterebene2
Unterebene3

Die Unterebenen 1a und 1b sollen nur dann angezeigt werden, wenn man auf Unterebene1 klickt - das in dem Template ja schon umgesetzt.

Den ganzen Abend hab ich versucht eine Lösung zu finden und auch ggf. eine Lösung aus anderen Templates zu übernehmen - alles ohne Erfolg  :-(

Offline ruebenwurzel

  • Betatester
  • **
  • Posts: 8391
  • Gender: Male
  • Keep on Rockin
    • Familie Gallas Online
Re: Untermenues versetzten
« Reply #8 on: January 16, 2007, 09:14:44 PM »
Hallo,

dem menüaufruf classes zuweisen und diese dann in css formatieren. Das wärs.  :-D

Wies geht?
Code: [Select]
show_menu(1,1,-1,true,'[a][menu_title][/a]<br />','','','','','');Das ist der menüaufruf der lediglich ein linkliste <a href="link">link</a>mit einem linebreak <br /> erzeugt. Damit kann man nichts eingerückt formatieren. Entweder du weißt diese Liste classes oder ids für die einzelnen Ebenen zu und formatierst die dann in der screen.css (das ist aber mit dem standardmenu von WB gar nicht so einfach) oder du machst eine unordered list mit <ul> und <li> draus. Das geht recht einfach durch
Code: [Select]
show_menu(1,1,-1); Allerdings muss du jetzt diese Liste komplett neu formatieren in deiner screen.css.

Du kannst auch Alternativ show_menu2 einsetzen, damit ist es relativ einfach auch einer reinen linkliste für die verschiedenen Ebenene classes zuzweisen. Allerdings bin ich mir nicht sicher ob show_menu2 zusammen mit ob_start (das in deinem Templat hinterlegt ist) zusammenarbeitet.

Klickdich mal durch unser wiki

http://projects.WebsiteBaker.org/websitebaker2/wiki/Docs-DE

Matthias

Offline Ditron

  • Posts: 92
Re: Untermenues versetzten
« Reply #9 on: January 17, 2007, 09:00:49 PM »
Hi ruebenwurzel!

Danke für deine Antwort... aber  :?

Ich versuche gerade, das alles irgendwie zu verstehen, aber ich scheitere dran.

Muss ich die bisherige show_menu der Sidebar rauswerfen und durch was eigenes ersetzen? Falls ja, was ist mit dem Zeug?

Code: [Select]
$foo=ob_get_contents();    // put outputbuffer in $foo
ob_end_clean();             // clear outputbuffer
if ($foo<>"") {  // some code to execute cause there is some block
  echo '<div>';
  echo '<h3 title="Sidebar">Menu</h3>';
  echo '<p>';
  echo $foo;
  echo '</p>';
  echo '</div>';                              // show the block (as saved in $foo)
  } else { // some code for no info
}
?>

Und so nebenbei: wofür ist das überhaupt?

Offline Ditron

  • Posts: 92
Re: Untermenues versetzten
« Reply #10 on: January 18, 2007, 02:18:55 PM »
Ich hab nun mal show_menu2 eingebaut, das geht soweit. Gefällt mir vom Aussehen noch nicht unbedingt, aber vorerst reicht es (zB möchte ich gerne die Nummern vor den Menüeinträgen weg haben)

Trotzdem würde mich mal interessieren, was der oben von mir zitierte Code-Schnippsel bewirkt.
« Last Edit: January 18, 2007, 02:29:56 PM by Ditron »

Offline kweitzel

  • WebsiteBaker Org e.V.
  • **
  • Posts: 6983
  • Gender: Male
Re: Untermenues versetzten
« Reply #11 on: January 18, 2007, 03:27:04 PM »
Das is ein Puffer ...

Irgend etwas wird in den Puffer gelesen und dann, wenn das Ergebnis > 0 ist, wird der HTML Code angezeigt.

Das könntest Du z.B. dazu nutzen, eine Box anzuzeigen, wenn Dein Menüaufruf (Untermenü o.Ä.) ein Ergebnis ausgibt, die Box aber zu unterdrücken, wenn das Ergebnis 0 ist.

Gruß

Klaus


 

postern-length