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

Submenu Überladen

Eingetragen von floalyo (11)
am 04.09.2008 - 09: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 - 10: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 - 11: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 - 12: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 - 09: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 - 11: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 - 12: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 - 16: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

  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • 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
Weiter

Neue Kommentare

  • Git und rsync sind die wichtigsten Werkzeuge
    vor 21 Stunden 36 Minuten
  • Arrrrg. Nix Tabelle :-D /*
    vor 4 Wochen 3 Tagen
  • Textboxen mit Tabelle
    vor 4 Wochen 3 Tagen
  • Du sollst ja auch keine
    vor 4 Wochen 3 Tagen
  • Theme
    vor 4 Wochen 3 Tagen
  • Welches Theme benutzt du
    vor 4 Wochen 3 Tagen
  • Mit Responsive Raster hatte
    vor 4 Wochen 4 Tagen
  • Hallo Alex,um das Häkchen
    vor 4 Wochen 4 Tagen
  • Modul view_unpublished
    vor 4 Wochen 5 Tagen
  • Modul "override node options"
    vor 4 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250273
Registrierte User: 20486

Neue User:

  • DavidBit
  • JeraldZeF
  • Aathivithyah

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 26 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