Horizontales Navigationsmenü mit zwei Ebenen und anschließendem drop down gesucht
Eingetragen von maen (547)
am 21.07.2009 - 01:36 Uhr in
am 21.07.2009 - 01:36 Uhr in
Also erst mal: Ich bin drupal Anfänger und komme gerade von joomla. Daher ist mir einiges noch nicht so ganz klar!
Ich bin auf der Suche nach einem horizontalen Navigatinsmenü, dass über 2 Ebenen geht, und bei Bedarf noch ein drop-down Menü dranhängt. Hat da vielleicht jemand einen Tip für mich?
Ich habe bisher nur entweder das eine oder das andere gefunden. Aber die Kombi ist mir nach stundenlangem Suchen nicht unter die Augen gekommen.
Ich versuche gerade mein erstes Template, sorry Theme, mit Zen zusammen zu erstellen.
Vielen Dank schon mal vorab...
maen
- Anmelden oder Registrieren um Kommentare zu schreiben
Menü-Module
am 21.07.2009 - 12:35 Uhr
Hallo maen,
am besten guckst du dich mal unter den einschlägigen Modulen um, z.B. Nice Menues (http://drupalmodules.com/module/nice-menus). (Dort lohnt auch immer ein Blick auf die "Related Modules".)
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren.
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
Würde es gerne mit superfish probieren...
am 23.07.2009 - 00:36 Uhr
Habe heute mal nach Adding Superfish Menus to Drupal 6 Theme einen Versuch gestartet.
Ergebnis: Unter Verwaltung -Theme - cms (soll so heißen) erhalte ich zwar die checkbox, die ich aktivieren kann, beim speichern allerdings tut sich nichts, d.h. es kann nicht aktiviert werden! Ich schreibe mal dabei, was ich wo wie getan habe:
theme-settings.php:
Austausch von $defaults = zen_theme_get_default_settings('STARTERKIT'); zu
$defaults = array (
'cms_superfish' => 0,
);
und
$form = array();
$form['cms'] = array(
'#type' => 'checkbox',
'#title' => t('Enable Superfish Drop Menus'),
'#default_value' => $settings['cms_superfish'],
'#description' => t('Check this setting to enable support for Superfish drop menus. NOTE: In order for the drop menu to show you MUST uncheck Primary links in the "Toggle display" settings. See the README for full instructions.'),
);
(Checkbox, Titel und Beschreibung kann ich auch sehen! )
In die cms.info habe ich dann folgendes eingefügt:
regions[superfish] = Superfish menu
Dann in den head von page.tpl.php folgendes:
<?php if ((theme_get_setting('cms_superfish')) && ($superfish)): ?>
<script type="text/javascript">
$(document).ready(function() {
$('#superfish-inner ul').superfish({
delay: 1000, // one second delay on mouseout
animation: {opacity:'show',height:'show'}, // fade-in and slide-down animation
speed: 'fast', // faster animation speed
autoArrows: false, // disable generation of arrow mark-up
dropShadows: false // disable drop shadows );
});
$('.nav li li:has(ul) > a').addClass('subfish');
});
</script>
<?php endif; ?>
und in den body:
<?php if ((!empty($primary_links)) || (!empty($superfish))): ?>
<!-- Primary || Superfish -->
<div id="<?php print $primary_links ? 'primary' : 'superfish' ; ?>">
<div id="<?php print $primary_links ? 'primary' : 'superfish' ; ?>-inner">
<?php if (!empty($primary_links)) {
print theme('links', $primary_links);
}
elseif (!empty($superfish)) {
print $superfish;
}
?>
</div> <!-- / inner -->
</div> <!-- /primary || superfish -->
<?php endif; ?>
Weil das nichts passiert, habe ich noch nach folgender Anweisung in der template.php den Code soweit erweitert:
if (is_null(theme_get_setting('cms'))) { // <-- change this line
global $theme_key;
/*
* The default values for the theme variables. Make sure $defaults exactly
* matches the $defaults in the theme-settings.php file.
*/
$defaults = array( // <-- change this array
'cms_superfish' => 0,
);
// Get default theme settings.
$settings = theme_get_settings($theme_key);
// Don't save the toggle_node_info_ variables.
if (module_exists('node')) {
foreach (node_get_types() as $type => $name) {
unset($settings['toggle_node_info_' . $type]);
}
}
// Save default theme settings.
variable_set(
str_replace('/', '_', 'theme_'. $theme_key .'_settings'),
array_merge($defaults, $settings)
);
// Force refresh of Drupal internals.
theme_get_setting('', TRUE);
}
Weiß jetzt jemand, was ich falsch mache???
Update, Cache & Cron?
am 23.07.2009 - 07:59 Uhr
Hast du Folgendes schon probiert?
1. update.php ausführen
2. Cache leeren
3. Cron ausführen
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren.
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
Alles aktualisiert
am 23.07.2009 - 12:22 Uhr
Leider ohne Erfolg...
page.tpl.php verändert, dann navbar weg
am 23.07.2009 - 12:40 Uhr
Also:
Dachte mir, dass wenn der php-block für dsa MEnü nicht in einem div container drin steht, dass dann drupal nicht weiß, wohin es das ausgeben soll. Deshalb habe ich mal den Block in die navbar reingesetzt.
Original:
<?php if ($search_box || $primary_links || $secondary_links || $navbar): ?>
<div id="navbar"><div id="navbar-inner" class="clear-block region region-navbar">
<a name="navigation" id="navigation"></a>
<?php if ($search_box): ?>
<div id="search-box">
<?php print $search_box; ?>
</div> <!-- /#search-box -->
<?php endif; ?>
<?php if ($primary_links): ?>
<div id="primary">
<?php print theme('links', $primary_links); ?>
</div> <!-- /#primary -->
<?php endif; ?>
<?php if ($secondary_links): ?>
<div id="secondary">
<?php print theme('links', $secondary_links); ?>
</div> <!-- /#secondary -->
<?php endif; ?>
<?php print $navbar; ?>
</div></div> <!-- /#navbar-inner, /#navbar -->
Ersetzt durch:
<?php if ($search_box || $primary_links || $secondary_links || $navbar): ?>
<div id="navbar"><?php if ((!empty($primary_links)) || (!empty($superfish))): ?>
<!-- Primary || Superfish -->
<div id="<?php print $primary_links ? 'primary' : 'superfish' ; ?>">
<div id="<?php print $primary_links ? 'primary' : 'superfish' ; ?>-inner">
<?php if (!empty($primary_links)) {
print theme('links', $primary_links);
}
elseif (!empty($superfish)) {
print $superfish;
}
?>
</div> <!-- / inner -->
</div> <!-- /primary || superfish -->
<?php endif; ?></div> <!-- /#navbar-inner, /#navbar -->
<?php endif; ?>
Ergebnis: navbar weg!
Zen und Superfish
am 23.07.2009 - 13:10 Uhr
Vielleicht hilft dir dieser Thread weiter:
"Using Superfish with Nice Menus Module"
http://drupal.org/node/315523
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren.
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
Warum immer das Rad neu
am 23.07.2009 - 14:37 Uhr
Warum immer das Rad neu erfinden? Nimm doch ein Theme, bei dem Superfish "onBoard" ist. z.B. PIXTURE RELOADED ... und pass dir das Theme dann an!
---------------------------------------------------------------------------
Drupal Design Probleme? Sofern noch nicht geschehen - Firefox und Firebug installieren. Seite aufrufen, "F12" drücken, und "Untersuchen" auswählen ...
Drupal 7 Screencasts in deutsch!
Habe ich auch schon drüber nachgedacht!
am 23.07.2009 - 14:47 Uhr
Da ich Drupal teste, wäre es ganz schön, so was mal komplett selbst zu erstellen! Auf der anderen Seite, der Bequemlichkeit halber, ist dein Ansatz schon korrekt! Ich denke, dass ich erst mal auf pixtuere reloaded aufsetze und da rumspiele!
Aber generell fuchst es mich, wenn ich nicht rausbekomme, wo der Haken liegt. Nach dem Forumsbeitrag Using Superfish with Nice Menus Modulesieht es ja so aus, als habe er die Probleme auch nicht ohne weiteres in den Griff bekommen...
Also dann mal an alle vielen Dank, werde erst mal mit fertigem Theme arbeiten, bevor ich das Rad neu erfinde... ;)