Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Submenu Überladen

Eingetragen von floalyo (11)
am 04.09.2008 - 08:16 Uhr in
  • Themes & Theming
  • Drupal 6.x

Ich gibt die Funktion (includes/menu.inc)

function theme_menu_tree($tree) {
  return '<ul class="menu">'. $tree .'</ul>';
}

das ich Überladen will in template.php.

Ich habe eine neue Funktion in template.php geschrieben wo ich eine id eingefügt:

function garland_menu_tree($tree) {
return '<ul id="submenu" class="menu">'. $tree .'</ul>';
}

Mein Ziel ist die id="submenu" zu ersetzen mit der Name von der Submenu.
Wie kann ich dass ab besten tun?
Vielen Dank?
Florian

‹ Großer Abstand in Theme admire-orange Suche Programmierer ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

keine gute Idee

Eingetragen von rainman (226)
am 04.09.2008 - 09:35 Uhr
floalyo schrieb

Ich habe eine neue Funktion in template.php geschrieben wo ich eine id eingefügt:

function garland_menu_tree($tree) {
return '<ul id="submenu" class="menu">'. $tree .'</ul>';
}

Das ist keine gute Idee, der Funktion eine feste ID mit auf den Weg zu geben. Die Funktion wird bei fast jedem Menü UND Submenü, dass die Baumstruktur verwendet, benutzt. Eine ID darf aber nur EINMAL auf der Seite vorkommen.

Wenn überhaupt, wäre es besser, beim Aufruf des Menüs einen DIV-Container einzusetzen. Beispiel:

<div class="irgendwas">
  <?php print menu_tree($menu_name = 'primary-links'); ?>
</div>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Richtig

Eingetragen von floalyo (11)
am 04.09.2008 - 10:04 Uhr

Danke für deine Antwort.
Das ist richtig. Eine ID darf nur eimal auf der Seite vorkommen. Ich will das wenn der Submenu, ein bestimmte Submenu ist, dann wird eine bestimmte ID geschrieben sonst wird keine ID geschrieben.
Florian

  • Anmelden oder Registrieren um Kommentare zu schreiben

Bonjour Florian

Eingetragen von rainman (226)
am 04.09.2008 - 11:45 Uhr
floalyo schrieb

... Ich will das wenn der Submenu, ein bestimmte Submenu ist, dann wird eine bestimmte ID geschrieben sonst wird keine ID geschrieben.

Versuche deine Wünsche anders umzusetzen. Es gibt da zum Beispiel das Modul Nice Menus. Dieses Modul fügt jedem Link und jeder Ebene in der Menüstruktur eine eigene und eindeutige ID zu.

Du brauchst ja das JavaScipt nicht nutzen, sondern lässt dir einfach nur so den Quelltext ausgeben. Über CSS kannst du dann ALLES individuell stylen. Das müsste eigentlich das sein, was du möchtest.

Ungefähr so sieht es dann aus, überall eine eindeutige ID:

<ul class="nice-menu nice-menu-down" id="nice-menu-1">
  <li id="menu-201" class="menu-path-frontpage"><a href="#">Home</a></li>
  <li id="menu-202" class="menu-path-products"><a href="#">Products</a>
    <ul class="nice-menu nice-menu-down" id="nice-menu-2">
      <li id="menu-203" class="menu-path-faq"><a href="#">FAQ</a></li>
    </ul>
  </li>
  <li id="menu-204" class="menu-path-contact"><a href="#">Contact</a></li>
</ul>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Accordeon

Eingetragen von floalyo (11)
am 05.09.2008 - 08:56 Uhr

Danke. Ich habe nice menus geschaut aber die Effekts sind nur mit css. Ich möchte meine submenu mit dem jquery plugin bauen (http://bassistance.de/jquery-plugins/jquery-plugin-accordion/).

Bis jetzt ich habe die javascript (jquery-plugin-accordion) in meine Drupal eingefügt und ein neue block mit dem code :

<hr>
<ul id="myAccordeon">
<li>
<a href="#" class="head">Menu 1</a>
<div style="height: 196px; display: none;">Content 1</div>
</li>
<li>
<a href="#" class="head">Menu 2</a>
<div style="height: 196px; display: none;">Content 2</div>
</li>
<li>
<a href="#" class="head">Menu 3</a>
<div style="height: 196px; display: none;">Content 3</div>
</li>
</ul>
<hr>

So funktioniert meine Accordeon. Deswegen wollte ich die Funktion theme_menu_tree() überschreiben mit

function phptemplate_menu_tree($tree) {
$menuName
if($menuName == "mySpecialMenu"){
return '<ul id="submenu" class="menu">'. $tree . '</ul>';
} else {
return '<ul class="menu">'. $tree . '</ul>';
}
}

Die Frage ist wie kann der $menuName krigen? mit delta?
Vielen Dank.
Florian

  • Anmelden oder Registrieren um Kommentare zu schreiben

DHTML Menu

Eingetragen von rainman (226)
am 05.09.2008 - 10:47 Uhr
floalyo schrieb

So funktioniert meine Accordeon. Deswegen wollte ich die Funktion theme_menu_tree() überschreiben mit

Genau an diesem Punkt war ich auch schon mal. Zur Umsetzung einer Navigation wollte ich das jQuery Accordion Plugin einsetzen.

Zitat:

Ich möchte meine submenu mit dem jquery plugin bauen

Ich habe dann aber das DHTML Menu entdeckt und bin damit vollauf zufrieden gewesen. Das DHTML Menu hat genau diese Sliding-Effekte, die du dir vorstellst.

Zitat:

Die Frage ist wie kann der $menuName krigen? mit delta?

Und an diesem Punkt muss ich dann sagen: Je ne sais pas ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

delta

Eingetragen von rainman (226)
am 05.09.2008 - 11:12 Uhr
Zitat:

Die Frage ist wie kann der $menuName krigen? mit delta?

Mit delta bekommst du die ID des Blockes. Wenn du die Navigation in einem bestimmten Block mit Accordeon sichtbar machen möchtest, dann wäre das eventuell eine Idee.

  • Anmelden oder Registrieren um Kommentare zu schreiben

mit DHTML menus

Eingetragen von floalyo (11)
am 05.09.2008 - 15:47 Uhr

ich habe meine Accordeon Menu! mit DHTML menus. Es viel CSS arbeit.
Danke für die Hilfe.
Florian.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 2 Tagen
  • Hey danke
    vor 1 Woche 3 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 4 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 1 Tag
  • Da scheint die Terminologie
    vor 2 Wochen 1 Tag
  • Kannst doch auch alles direkt
    vor 2 Wochen 6 Tagen
  • In der entsprechenden View
    vor 2 Wochen 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 6 Tagen
  • gelöst
    vor 5 Wochen 2 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 9 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association