| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- /**
- * @file
- * Stub file for bootstrap_menu_link() and suggestion(s).
- */
- /**
- * Returns HTML for a menu link and submenu.
- *
- * @param array $variables
- * An associative array containing:
- * - element: Structured array data for a menu link.
- *
- * @return string
- * The constructed HTML.
- *
- * @see theme_menu_link()
- *
- * @ingroup theme_functions
- */
- function bootstrap_menu_link(array $variables) {
- $element = $variables['element'];
- $sub_menu = '';
- if ($element['#below']) {
- // Prevent dropdown functions from being added to management menu so it
- // does not affect the navbar module.
- if (($element['#original_link']['menu_name'] == 'management') && (module_exists('navbar'))) {
- $sub_menu = drupal_render($element['#below']);
- }
- elseif ((!empty($element['#original_link']['depth'])) && ($element['#original_link']['depth'] == 1)) {
- // Add our own wrapper.
- unset($element['#below']['#theme_wrappers']);
- $sub_menu = '<ul class="dropdown-menu">' . drupal_render($element['#below']) . '</ul>';
- // Generate as standard dropdown.
- $element['#title'] .= ' <span class="caret"></span>';
- $element['#attributes']['class'][] = 'dropdown';
- $element['#localized_options']['html'] = TRUE;
- // Set dropdown trigger element to # to prevent inadvertant page loading
- // when a submenu link is clicked.
- $element['#localized_options']['attributes']['data-target'] = '#';
- $element['#localized_options']['attributes']['class'][] = 'dropdown-toggle';
- $element['#localized_options']['attributes']['data-toggle'] = 'dropdown';
- }
- }
- // On primary navigation menu, class 'active' is not set on active menu item.
- // @see https://drupal.org/node/1896674
- if (($element['#href'] == $_GET['q'] || ($element['#href'] == '<front>' && drupal_is_front_page())) && (empty($element['#localized_options']['language']))) {
- $element['#attributes']['class'][] = 'active';
- }
- $output = l($element['#title'], $element['#href'], $element['#localized_options']);
- return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
- }
- /**
- * Overrides theme_menu_link() for book module.
- */
- function bootstrap_menu_link__book_toc(array $variables) {
- $element = $variables['element'];
- $sub_menu = drupal_render($element['#below']);
- $element['#attributes']['role'] = 'presentation';
- $link = TRUE;
- if ($element['#title'] && $element['#href'] === FALSE) {
- $element['#attributes']['class'][] = 'dropdown-header';
- $link = FALSE;
- }
- elseif ($element['#title'] === FALSE && $element['#href'] === FALSE) {
- $element['#attributes']['class'][] = 'divider';
- $link = FALSE;
- }
- elseif (($element['#href'] == $_GET['q'] || ($element['#href'] == '<front>' && drupal_is_front_page())) && (empty($element['#localized_options']['language']))) {
- $element['#attributes']['class'][] = 'active';
- }
- if ($link) {
- $element['#title'] = l($element['#title'], $element['#href'], $element['#localized_options']);
- }
- return '<li' . drupal_attributes($element['#attributes']) . '>' . $element['#title'] . $sub_menu . "</li>\n";
- }
|