0

TwitterのBootstrapトップメニューをDrupalメニューシステムに適合させるためにトレイを作成しています。今まで、失敗しました。Drupalモジュールのnicemenusを使用してドロップダウンに表示しています。

これは、Bootstrapのcssを使用した手作りのメニューリストです。

    <div class="navbar navbar-fixed-top">
      <div class="navbar-inner" style="padding-left: 0px;">
        <div class="container">
          <ul class="nav">
            <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 1
                <b class="caret"></b></a>
                <ul class="dropdown-menu">
                    <li><a href="#"><i class="icon-star"></i> Item 1</a></li>
                    <li><a href="#"><i class="icon-star"></i> Item 2</a></li>
                </ul>
            </li>
            <li><a href="#">Normal Menu Link without dropdown</a></li>      
          </ul>
        </div>
      </div>
    </div>

そして、これは、Bootstrapが非常に理解しやすいことがわかるように、nicemenusを含むメニュー出力です。

<div id="block-nice-menus-1" class="block block-nice-menus block-1 block-nice-menus-1 odd block-without-title">
  <div class="block-inner clearfix">

    <div class="content clearfix">
      <ul id="nice-menu-1" class="nice-menu nice-menu-down sf-js-enabled">
        <li class="menu-5674 menu-path-liganetnet  first   odd"><a href="">Link without Dropdowns</a></li>
        <li class="menu-267 menuparent  menu-path-front   even"><a style="dropdown" class="dropdown active" href="/">Dropdown Link 1</a>
            <ul style="display: none; visibility: hidden;">
                <li class="menu-2280 menu-path-node-196  first odd "><a href="">Item 1</a></li>
                <li class="menu-270 menu-path-node-197 even "><a title="" href="">Item 2</a></li>
                <li class="menu-271 menu-path-node-1464   odd   last "><a title="" href="">Item 3</a></li>
            </ul>
        </li>

        <li class="menu-268 menuparent  menu-path-front   odd"><a class="active" href="/">Dropdown Link 2</a>
            <ul style="display: none; visibility: hidden;">
                <li class="menu-274 menu-path-node-214  first   odd  "><a title="" href="">Item 1</a></li>
                <li class="menu-273 menu-path-node-213   even  "><a title="" href="">Item 2</a></li>
            </ul>
        </li>
      </ul>
    </div>
  </div>
</div>

menu_attributesモジュールをインストールしましたが、それにいくつかのクラスを追加すると、それらはタグにのみ追加されます。これらのcssクラスをプログラムで変換するにはどうすればよいですか?

print_r()を実行すると、次のことがわかりました。

                            [sidebar_second] => Array
                                (
                                    [nice_menus_1] => Array
                                        (
                                            [#markup] => 

Link 1 without Dropdown
Dropdown 1
Dropdown 2
Dropdown 3



                                            [#contextual_links] => Array
                                                (
                                                    [block] => Array
                                                        (
                                                            [0] => admin/structure/block/manage
                                                            [1] => Array
                                                                (
                                                                    [0] => nice_menus
                                                                    [1] => 1
                                                                )

                                                        )

                                                )

                                            [#block] => stdClass Object
                                                (
                                                    [module] => nice_menus
                                                    [delta] => 1
                                                    [theme] => liganet
                                                    [status] => 1
                                                    [weight] => -62
                                                    [region] => sidebar_second
                                                    [custom] => 0
                                                    [visibility] => 0
                                                    [pages] => 
                                                    [title] => 
                                                    [bid] => 744
                                                    [cache] => -1
                                                    [subject] => 
                                                )

ページテンプレートに印刷された親メニュー変数を使用して、クラス内の子変数を印刷することで実行できると思いましたか?どうすればphpでそれを行うことができますか?

ご協力いただきありがとうございます!

4

1 に答える 1

0

同じ問題があるため、モジュールを作成しました。

次の手順を実行します:

ステップ1。

https://drupal.org/sandbox/m_roji28/2081231 からモジュール bootstrap_components をインストールします

https://drupal.org/project/menu_block からモジュール メニュー ブロックをインストールします。

ステップ2。

1 つのメニュー ブロックを追加し、メニュー ブロック ID (メニュー ブロックのデルタ) を覚えておきます。たとえば、メニュー ブロックに次のような URL 構成がある場合: admin/structure/block/manage/menu_block/1/configure、メニュー ブロック ID が 1 であることを意味します。

ステップ 3。

テーマが bartik であると仮定したため、bartik の template.php にこの行を追加します。

    <?php 
    function bartik_menu_link__menu_block__1(&$variables) {
     // set options below
      $options = array('component' => 'button_dropdowns');
     // stop, and enjoy
     if(module_exists('bootstrap_components')){
      $pra_options = array();
      if(isset($variables['element']['#localized_options']['bootstrap_components'])) $pra_options = $variables['element']['#localized_options']['bootstrap_components'];
      $variables['element']['#localized_options']['bootstrap_components'] = $options + $pra_options;//wajib ada index bootstrap_components
      return theme_bootstrap_components_menu_link($variables);
     }
     else return theme_menu_link($variables);
    }?>

ステップフィニッシュ。

今、あなたのメニューブロックはから変わります

    <ul class="menu clearfix"><li class="first leaf menu-mlid-611"><a style="f" class="e" rel="d" name="c" id="b" title="q" href="http://en.wikipedia.org/wiki/Sukarno"><i class="icon-camera-retro"></i>Sukarno</a></li>
    <li class="leaf menu-mlid-612"><a title="" href="http://en.wikipedia.org/wiki/Suharto"><i class="icon-globe"></i>Suharto</a></li>
    <li class="leaf menu-mlid-613"><a title="" href="http://en.wikipedia.org/wiki/B._J._Habibie"><i class="icon-compass"></i>B. J. Habibie</a></li>
    <li class="leaf menu-mlid-614"><a title="" href="http://id.wikipedia.org/wiki/Abdurrahman_Wahid"><i class="icon-bolt"></i>Abdurrahman Wahid</a></li>
    <li class="leaf menu-mlid-615"><a title="" href="http://en.wikipedia.org/wiki/Megawati_Sukarnoputri"><i class="icon-female"></i>Megawati Sukarnoputri</a></li>
    <li class="last leaf menu-mlid-616"><a title="" href="http://en.wikipedia.org/wiki/Susilo_Bambang_Yudhoyono"><i class="icon-bug"></i>Susilo Bambang Yudhoyono</a></li>
    </ul>

    <div class="btn-group-vertical">
    <button type="button" onclick="window.location.href='http://en.wikipedia.org/wiki/Sukarno'" style="f" class="e btn btn-default" rel="d" name="c" id="b" title="q"><i class="icon-camera-retro"></i>Sukarno</button>

    <button class="btn btn-default" type="button" onclick="window.location.href='http://en.wikipedia.org/wiki/Suharto'" title="http://en.wikipedia.org/wiki/Suharto"><i class="icon-globe"></i>Suharto</button>

    <button class="btn btn-default" type="button" onclick="window.location.href='http://en.wikipedia.org/wiki/B._J._Habibie'" title="http://en.wikipedia.org/wiki/B._J._Habibie"><i class="icon-compass"></i>B. J. Habibie</button>

    <button class="btn btn-default" type="button" onclick="window.location.href='http://id.wikipedia.org/wiki/Abdurrahman_Wahid'" title="http://id.wikipedia.org/wiki/Abdurrahman_Wahid"><i class="icon-bolt"></i>Abdurrahman Wahid</button>

    <button class="btn btn-default" type="button" onclick="window.location.href='http://en.wikipedia.org/wiki/Megawati_Sukarnoputri'" title="http://en.wikipedia.org/wiki/Megawati_Sukarnoputri"><i class="icon-female"></i>Megawati Sukarnoputri</button>

    <button class="btn btn-default" type="button" onclick="window.location.href='http://en.wikipedia.org/wiki/Susilo_Bambang_Yudhoyono'" title="http://en.wikipedia.org/wiki/Susilo_Bambang_Yudhoyono"><i class="icon-bug"></i>Susilo Bambang Yudhoyono</button>
    </div>
于 2013-09-05T15:25:38.703 に答える