2

独自のテーマを開発しましたが、独自のクラスでメニューリンクを生成する際に問題が発生しました。これが、次のようなメニューです。

  <ul class="dropdown">
    <li class="first current-menu-item menu-item-home menu-gray">
            <a href="index-2.html"><span>HOME</span></a>
    </li>
    <li class="menu-red">
            <a href="2cols-sidebar-right.html"><span>Fashion</span></a>
    </li>
    <li class="menu-orange">
            <a href="2cols-sidebar-right.html"><span>Design</span></a>
    </li>
  </ul>

クラス「menu-red」または「menu-orange」は、cssでは異なる色になります。そして、これは私がテンプレートにメインメニューを印刷する方法です:

<?php
if ($main_menu):
       print theme('links__system_main_menu', 
                     array(
                          'links'          => $main_menu, 
                          'attributes'     => array(
                                                 'id' => 'main-menu', 
                                                 'class' => 'dropdown'
                                              )
                      )
                   ); 
endif;
?>

私はtemplates.phpでlinks__system_main_menu関数を自分のものでオーバーライドしようとしましたが、それでもうまくいきません。

助けてくれてありがとう。

よろしく、

@andriansandi

4

2 に答える 2

1

http://drupal.org/node/1033442#comment-5076932から回答を得ました

ここ:

function mytheme_links__system_main_menu($variables) {
  $html = "<div>\n";
  $html .= "  <ul>\n";  
  foreach ($variables['links'] as $link) {
    $html .= "<li>".l($link['title'], $link['path'], $link)."</li>";
  }
  $html .= "  </ul>\n";
  $html .= "</div>\n";

  return $html;
}
于 2012-11-05T08:06:52.393 に答える
0

これが私のやり方です。

function YOURTHEME_menu_tree($variables) {
  return '<ul class="dropdown">' . $variables['tree'] . '</ul>';
}
于 2012-11-02T13:25:17.310 に答える