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

Menü

Eingetragen von drupalino (1064)
am 26.05.2008 - 16:09 Uhr in
  • Themes & Theming
  • Drupal 5.x

Hallo zusammen,

ich baue gerade ein Horizontales Tabmenü. mit zwei Ebenen.

Die Erste Ebene hat Tabs mit Hintergrundbildern. Entsprechend der Auswahl erscheint dann darunter das jeweilige Submenu in der Gleichen Farbe wie der Hauptpunkt.

Nun ist die Frage, wird es mir gelingen dies so zu bauen. Mein Ansatz wäre die theme_menu_tree() zu überschreiben!

Das Problem liegt ja nun darin, dass ich entsprechend der Auswahl auch in den <li> die classes ändern muss.

Was meint Ihr bekomme ich das über die theme_menu_tree() hin oder habt Ihr einen besseren Ansatz für mich?

gruss
drupalino

‹ Formular in user_profile.tpl.php Aktiver Menüpunkt sieht nicht so aus, wie ich es will ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

keiner ne

Eingetragen von drupalino (1064)
am 26.05.2008 - 18:23 Uhr

keiner ne idee?

-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo drupalino, evtl hilft

Eingetragen von rcj (66)
am 26.05.2008 - 21:46 Uhr

Hallo drupalino,

evtl hilft dir folgendes?
http://www.thanhsiang.org/faqing/node/88

Grüße,
Robin

  • Anmelden oder Registrieren um Kommentare zu schreiben

Leider nicht. Zum ein soll

Eingetragen von drupalino (1064)
am 26.05.2008 - 21:51 Uhr

Leider nicht.

Zum ein soll es kein dropdown in dem Sinne sein, denn die submenüpunkte liegen auch horizontal nebeneinander. Ich bin mir sehr sicher, dass ich es nur übers Coden hinbekomme, aber welche funktion?

-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

<ul> <li

Eingetragen von drupalino (1064)
am 26.05.2008 - 22:00 Uhr

<ul>
<li id="mainnavi_01"><a href=""><img src="images/spacer.gif" width="80" height="23" alt="HOME" border="0"/></a></li>
<li id="mainnavi_02"><a href=""><img src="images/spacer.gif" width="96" height="23" alt="" border="0"/></a></li>
<li id="mainnavi_03"><a href=""><img src="images/spacer.gif" width="85" height="23" alt="" border="0"/></a></li>
<li id="mainnavi_04"><a href=""><img src="images/spacer.gif" width="76" height="23" alt="" border="0"/></a></li>
<li id="mainnavi_05"><a href=""><img src="images/spacer.gif" width="89" height="23" alt="E" border="0"/></a></li>
<li id="mainnavi_06"><a href=""><img src="images/spacer.gif" width="82" height="23" alt="" border="0"/></a></li>

<li id="mainnavi_07"><a href=""><img src="images/spacer.gif" width="74" height="23" alt="" border="0"/></a></li>
<li id="mainnavi_08"><a href=""><img src="images/spacer.gif" width="146" height="23" alt="" border="0"/></a></li>
</ul>

das so die erste ebene und dazwischen dann entsprechend

<ul>
<li class=""><a href="">Bestbewertete</a></li>
<li class=""><a href="">Neueste </a></li>
<li class=""><a href="">Meistgesehene </a></li>
<li class=""><a href="">Meistkommentierte</a></li>
</ul>

die natürlich dann immer unterschiedliche classen haben
-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

Keiner ne

Eingetragen von drupalino (1064)
am 27.05.2008 - 09:02 Uhr

Keiner ne Idee?

-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

Meinst du so wie hier:

Eingetragen von aschiwi (1113)
am 27.05.2008 - 09:12 Uhr

Meinst du so wie hier: http://www.forward-media.info/? Das ist ein Drupal Theme (http://drupal.org/project/fourseasons)

Wenn das so ist könntest du dir ja das Theme runterladen und nachsehen wie das dort gelöst wurde.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Leider wird das auf eine Art

Eingetragen von drupalino (1064)
am 27.05.2008 - 16:16 Uhr

Leider wird das auf eine Art und Weise gemacht, die für mich nicht zu verwenden ist.

Ich verzweifel hier noch daran!

-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich müsste irgendwie auf

Eingetragen von drupalino (1064)
am 27.05.2008 - 17:19 Uhr

Ich müsste irgendwie auf die id in <li id="mainnavi_01"><a href=""> zugreifen und dann in Abhängigkeit entsprechend die Subnavi ansprechen!

-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hier ist ein Menü, so soll

Eingetragen von drupalino (1064)
am 27.05.2008 - 17:39 Uhr

Hier ist ein Menü, so soll es aussehen (so ähnlich, aber die Änderungen kann man dann über css machen) Sprich anstatt Styles sind da bilder drin, die aber alle unterschiedlich sind

http://www.kalsey.com/tools/csstabs/2

Wie kann ich das nun Drupal beibringen??????

-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hat denn noch niemand so ein

Eingetragen von drupalino (1064)
am 27.05.2008 - 19:23 Uhr

Hat denn noch niemand so ein ähnliches Problem mal gehabt???

-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

ach so moment, also nicht

Eingetragen von aschiwi (1113)
am 27.05.2008 - 19:32 Uhr

ach so moment, also nicht nur hintergrundbilder sondern komplett grafik statt text?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also es sind zumindest

Eingetragen von drupalino (1064)
am 27.05.2008 - 19:48 Uhr

Also es sind zumindest Background-Images. Ob da nun dann auch die Linkbeschreibung drüber liegen soll oder das direkt in der Grafik ist, denke ich ist ertmal nicht so wichtig.

Problem ist ja, dass ich zu jedem Hauptpunkt ein eigenes submenü in der Art, dass dann eine andere class der css angesprochen werden muss. Da das Submenue der Farbe des Oberpunktes Folgen soll.

Wie oben beschrieben habe ich also eine liste und zu jedem Listeneintrag eine weitere "unterliste".

Als reines CSS habe ich das ja schon gefunden (jedenfalls die richtige Richtung (Link ist in einem Post oben))

Nun muss ich ja Drupal, wenn es dieses Menü renderd oder wie man das auch immer nennt, sozusagen die id in dem li mitgeben, meinetwegen um eins nach oben zu zählen und eben diesen Index auch an das Submenü weitergibt. Dann könnte ich ja alles weitere über die CSS steuern.

Problem nur, ich finde keinen Ansatz, bzw. mir sind die api funktionen nicht ganz verständlich.

Versteht man das was ich versuche zu mache oder drücke ich mich vielleicht schlecht aus???

-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

eine ähnliche frage gabs

Eingetragen von aschiwi (1113)
am 27.05.2008 - 19:49 Uhr

eine ähnliche frage gabs mal hier: http://www.drupalcenter.de/node/7621
dort konnte es wohl mit css gelöst werden, vielleicht kommt das für dich auch in frage? denn eigtl hat ja jeder menüpunkt eine eigene id, also nach dem schema "menu-1-3-2".
ansonsten wäre es für die verständlichkeit evtl gut, wenn du mal eine art skizze mit photoshop oder so machst, dann kann man sich das besser vorstellen...

ibm hat mal ein ausführliches fiktives projekt mit drupal beschrieben, bei dem u.a. pro seitenbereich verschiedene farben definiert waren (http://www.ibm.com/developerworks/ibm/library/i-osource8/#N1038B - vielleicht ist es ungefähr sowas, was du brauchst?). die gesamtbeschreibung (http://www.ibm.com/developerworks/ibm/osource/implement.html) des projekts ist überhaupt sehr lehrreich und ausführlich.

  • Anmelden oder Registrieren um Kommentare zu schreiben

genau

Eingetragen von drupalino (1064)
am 27.05.2008 - 19:59 Uhr

genau
Du hast in Deinem Post in dem anderen Thread http://www.drupalcenter.de/node/7621#comment-27947

eigentlich genau beschrieben

<ul>
<li><a href="/eins" id="menu-1-1-1" title="Mein erster Menüpunkt">Mein erster Menüpunkt</a></li>
<li><a href="/zwei" id="menu-1-1-2" title="Mein zweiter Menüpunkt">Mein erster Menüpunkt</a></li>
usw.
</ul>

Und genau hier liegts vie bekomme ich es hin, dass eben id="menu-1-1-1" unterschiedlich ausgegeben werden???

ich blicke das hier noch nicht so ganz

<?php
function phptemplate_menu_links($links) {
  if (!
count($links)) {
    return
'';
  }
 
$level_tmp = explode('-', key($links));
 
$level = $level_tmp[0];
 
$output = "<ul class=\"links-$level\">\n";
  foreach (
$links as $index => $link) {
   
$output .= '<li';
    if (
stristr($index, 'active')) {
     
$output .= ' class="active"';
    }
    if (
strpos($link['title'], '<img') === 0) {
     
$output .= ">". l($link['title'], $link['href'], $link['attributes'], $link['query'], $link['fragment'], FALSE, TRUE) ."</li>\n";
    }
    else {
       
$output .= ">". l($link['title'], $link['href'], $link['attributes'], $link['query'], $link['fragment']) ."</li>\n";
    }
  }
 
$output .= '</ul>';

  return
$output;
}
?>

-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Frage ist dann auch, wie

Eingetragen von drupalino (1064)
am 27.05.2008 - 20:19 Uhr

Die Frage ist dann auch, wie hält Drupal diese Links inklusive Sublinks, dazu finde ich leider nichts aussagekräftiges. so dass man die irgendie iteriren kann in solch einer Funktion?!?!?!

-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sublinks

Eingetragen von Kars-T (1473)
am 27.05.2008 - 21:44 Uhr

Und sonst könntest du vielleicht das wie hier beschrieben machen

Erstelle doch die sublinks als seperates Menü. Das kannst du dann anhand des Menünamens und des Blocks unterschiedlich mit CSS bearbeiten also irgendwie #block-menu-secondary-links ul usw.

Und guckmal ob du mit

function theme_menu_item_link($item, $link_item) {
return l($item['title'], $link_item['path'], !empty($item['description']) ? array('title' => $item['description']) : array(), isset($item['query']) ? $item['query'] : NULL);
}

vielleicht besser zurecht kommst. Mach mal print_r auf die Variablen. In Drupal 6 enthalten die eine Menge nützlicher Informationen. Mehr kann ich dazu nicht orakeln und ich hoffe ich habe dein Problem richtig verstanden ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Naja, so das wahre ist das

Eingetragen von drupalino (1064)
am 27.05.2008 - 21:45 Uhr

Naja, so das wahre ist das ja nicht. Dran gedacht hatte ich schon, aber mal ehrlich, nicht sehr elegant und auch nicht so wirklich leiht zu pflegen dann.

Das Array mal auszuspucken werde ich mal ausprobieren!

-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke trotzdem :-) Werd mir

Eingetragen von drupalino (1064)
am 27.05.2008 - 21:49 Uhr

Danke trotzdem :-)

Werd mir das morgen nochmal in aller Ruhe zur Brust nehmen. Hoffentlich finde ich eine Lösung!!!

-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du kannst das natürlich

Eingetragen von Kars-T (1473)
am 27.05.2008 - 21:55 Uhr

Du kannst das natürlich auch programmieren.

Ich hab hier nur ein Drupal 6 aber die Datenstruktur ist recht simpel:

SELECT *
FROM `menu_links`
WHERE `menu_name` LIKE 'meinmenu' AND plid = 0

Das wären dann alle ebene 1 links in einer ganz ganz groben Abfrage.

dann halt aus der selben Tabelle alle wo plid = $node->nid wenn ich mich recht entsinne und du hast die ebene 2. Damit kannst du dann anstellen was du willst und das sind nur zwei abfragen, ein wenig loop und gut ;)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wo kann ich ein

Eingetragen von drupalino (1064)
am 27.05.2008 - 23:05 Uhr

Das ist der Weg.....

function phptemplate_menu_item($mid, $children = '', $leaf = TRUE) {
  $link = menu_item_link($mid);
  $css_id = strtolower(str_replace(' ', '_', strip_tags($link)));
  return '<li id="' . $css_id . '" class="' . ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) .'">'. $link . $children ."</li>\n";
}

trotzdem noch die Frage -->

Wo kann ich ein

print_r($links);

hinsetzen, damit ich das Array rausbekomme?

-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

Öh naja, da hast du keine

Eingetragen von Kars-T (1473)
am 27.05.2008 - 23:26 Uhr

Öh naja, da hast du keine variable $links wenn ich das richtig sehe. Wie schon gesagt, ich nutze drupal 6 und die Funktionen haben sich anscheinend verändert.

Ich denke ich meine diese Funktion

http://api.drupal.org/api/function/theme_menu_links/5

  • 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 2 Wochen 8 Stunden
  • Hey danke
    vor 2 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 6 Wochen 5 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20453

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» 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 32 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