簡體   English   中英

如何在Drupal 7中將下拉CSS類添加到帶有子菜單的菜單中? (無模塊)

[英]How to add dropdown CSS class to menus with children in Drupal 7? (without modules)

如何創建一個功能來掃描Drupal 7系統中的所有菜單項,如果有嵌套的ul,則將下拉CSS類添加到嵌套的ul中,並將自定義屬性添加到父級li容器中? 我正在使用UIKIT ,它將自動創建下拉列表。

這是我當前的菜單HTML輸出:

<ul class="menu">
  <li class="first last expanded">
    <a title="" href="/node/add">Add content</a>
      <ul class="menu">
        <li class="first leaf">
            <a title="article" href="/node/add/article">Article</a></li>
         <li class="leaf">
            <a title="page" href="/node/add/page">Basic page</a></li>
  <li class="last leaf"><a title="blog" href="/node/add/blog">Blog entry</a></li>
      </ul>
  </li>
</ul>

這就是我需要的:

<ul class="menu">
  <li class="first last expanded" data-uk-dropdown>
    <a title="" href="/node/add">Add content</a>
      <ul class="menu uk-dropdown">
        <li class="first leaf">
            <a title="article" href="/node/add/article">Article</a></li>
         <li class="leaf">
            <a title="page" href="/node/add/page">Basic page</a></li>
  <li class="last leaf"><a title="blog" href="/node/add/blog">Blog entry</a></li>
      </ul>
  </li>
</ul>

我正在尋找最簡單的方法。

您可以自己爬行菜單樹,並根據需要寫出菜單HTML。 用過的應該是這樣的:

  $tree = menu_tree_all_data('menu_machine_name');

另外,如果我沒記錯的話,如果僅執行此操作,則不會以任何方式標記活動(當前)菜單項,並且要對其進行標記,還必須調用(在獲取$tree變量之后):

  menu_tree_add_active_path($tree);

但是,再次記住,如果您安裝了“菜單塊”模塊,則該功能才可用...

之后打印出$tree變量,並組織代碼以遞歸方式爬網您收集的菜單樹。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM