0

drupal7 のプライマリ タブ要素に 2 つのクラスを追加しようとしています。これを私のtemplate.phpに追加して、theme_menu_local_tasksをオーバーライドしようとしました:

function {{proj}}_menu_local_tasks(&$variables) {
  $output = '';

  if (!empty($variables['primary'])) {
    $variables['primary']['#prefix'] = '<h2 class="element-invisible">' . t('Primary tabs') . '</h2>';
    $variables['primary']['#prefix'] .= '<ul class="nav nav-tabs">';
    $variables['primary']['#suffix'] = '</ul>';
    $output .= drupal_render($variables['primary']);
  }
  if (!empty($variables['secondary'])) {
    $variables['secondary']['#prefix'] = '<h2 class="element-invisible">' . t('Secondary tabs') . '</h2>';
    $variables['secondary']['#prefix'] .= '<ul class="nav nav-tabs">';
    $variables['secondary']['#suffix'] = '</ul>';
    $output .= drupal_render($variables['secondary']);
  }

  return theme_menu_local_tasks($variables);
}

ただし、これは決して呼び出されないようです。私は何を間違っていますか?

4

1 に答える 1

1

次の関数を template.php に追加し、代わりに呼び出すか、ページ テンプレートで render($tabs) を呼び出します。

function {{proj}}_render_nav_tabs() {
    $output = '';

    if ($primary = menu_primary_local_tasks()) {
        $output .= '<ul class="nav nav-tabs space-bottom">' . drupal_render($primary) . '</ul>';
    }

    if ($secondary = menu_secondary_local_tasks()) {
        $output .= '<ul class="nav nav-tabs space-bottom">' . drupal_render($secondary) .'</ul>';
    }

    return $output;
}
于 2013-07-27T08:19:10.520 に答える