Ben kapı CSS yuvarlama kayar metin kullanan bir drupal tema açılır menüler eklemek çalışıyorum.
Geçerli sürüm çalışıyor bir etiketleri içine yayılma birincil bağlantılar enjeksiyon kullanır. Ama menüleri desteklemiyor.
Çalışma kodu:
<?php print theme('links', $primary_links, array('class' => 'links primary-links')) ?>
Bir template.php dosya ilavesi ile şablonda:
<?php
// function for injecting spans inside anchors which we need for the theme's rounded corner background images
function strands_guybrush_links($links, $attributes = array('class' => 'links')) {
$output = '';
if (count($links) > 0) {
$output = '<ul'. drupal_attributes($attributes) .'>';
$num_links = count($links);
$i = 1;
foreach ($links as $key => $link) {
$class = $key;
// Add first, last and active classes to the list of links to help out themers.
if ($i == 1) {
$class .= ' first';
}
if ($i == $num_links) {
$class .= ' last';
}
if (isset($link['href']) && ($link['href'] == $_GET['q'] || ($link['href'] == '<front>' && drupal_is_front_page()))) {
$class .= ' active';
}
$output .= '<li'. drupal_attributes(array('class' => $class)) .'>';
if (isset($link['href'])) {
$link['title'] = '<span class="link">' . check_plain($link['title']) . '</span>';
$link['html'] = TRUE;
// Pass in $link as $options, they share the same keys.
$output .= l($link['title'], $link['href'], $link);
}
else if (!empty($link['title'])) {
// Some links are actually not links, but we wrap these in <span> for adding title and class attributes
if (empty($link['html'])) {
$link['title'] = check_plain($link['title']);
}
$span_attributes = '';
if (isset($link['attributes'])) {
$span_attributes = drupal_attributes($link['attributes']);
}
$output .= '<span'. $span_attributes .'>'. $link['title'] .'</span>';
}
$i++;
$output .= "</li>\n";
}
$output .= '</ul>';
}
return $output;
}
?>
Yani Nice Menu module iyi çalışıyor ve şimdi kullanarak şablondan ele benim navigasyon menü fonksiyonları aşağı damla sağlayan ekledi:
<?php print theme_nice_menu_primary_links() ?>
Sorun bir etiketleri seçilen devlet biçimlendirme için izin iç açıklıklı olması gerektiğidir. Ben bağlantıları oluşturmak için güzel menüler tarafından kullanılan drupal fonksiyon menu_item_link düzenlemek için bulabildiğim her açıyı denedim.
Örneğin Ben iki gün hiçbir sevinç için drupal forumda baktım.
Bağlantıları kurmak modülünde hatları şunlardır:
function theme_nice_menu_build($menu) {
$output = '';
// Find the active trail and pull out the menus ids.
menu_set_active_menu_name('primary-links');
$trail = menu_get_active_trail('primary-links');
foreach ($trail as $item) {
$trail_ids[] = $item['mlid'];
}
foreach ($menu as $menu_item) {
$mlid = $menu_item['link']['mlid'];
// Check to see if it is a visible menu item.
if ($menu_item['link']['hidden'] == 0) {
// Build class name based on menu path
// e.g. to give each menu item individual style.
// Strip funny symbols.
$clean_path = str_replace(array('http://', '<', '>', '&', '=', '?', ':'), '', $menu_item['link']['href']);
// Convert slashes to dashes.
$clean_path = str_replace('/', '-', $clean_path);
$class = 'menu-path-'. $clean_path;
$class .= in_array($mlid, $trail_ids) ? ' active' : '';
// If it has children build a nice little tree under it.
if ((!empty($menu_item['link']['has_children'])) && (!empty($menu_item['below']))) {
// Keep passing children into the function 'til we get them all.
$children = theme('nice_menu_build', $menu_item['below']);
// Set the class to parent only of children are displayed.
$class .= $children ? ' menuparent ' : '';
// Add an expanded class for items in the menu trail.
$output .= '<li id="menu-'. $mlid .'" class="'. $class .'">'. theme('menu_item_link', $menu_item['link']);
// Build the child UL only if children are displayed for the user.
if ($children) {
$output .= '<ul>';
$output .= $children;
$output .= "</ul>\n";
}
$output .= "</li>\n";
}
else {
$output .= '<li id="menu-'. $mlid .'" class="'. $class .'">'. theme('menu_item_link', $menu_item['link']) .'</li>'."\n";
}
}
}
return $output;
}
Gördüğünüz gibi $ çıkış bağlantıları içine dizi ayrıştırmak için menu_item_link kullanır ve seçilen navigasyon bağlantı aktif sınıfını ekledi.
Soru nasıl bir etiketleri içinde bir yayılma eklerim VEYA nasıl sürgülü kapı bağlantıları stil aktif sınıf olan bir yayılma ile bir etiketlerini şal yapmak nedir?