2010-05-14 110 views
1

這不是一個CSS問題。 HTML不在那裏。我需要菜單,子菜單存在於每個頁面上的HTML中。目前,子菜單僅存在於與當前正在查看的頁面相關的子菜單的HTML中。這是一個它應該是什麼樣子的例子。帶子菜單的Drupal菜單僅顯示當前頁面的子菜單。不是CSS問題

<ul id="menu"> 
    <li>Page1 
     <ul class="sub"> 
      <li>sub1.1</li> 
      <li>sub1.2</li> 
      <li>sub1.3</li> 
      <li>sub1.4</li> 
     </ul> 
    </li> 
    <li>Page2 
     <ul class="sub"> 
      <li>sub2.1</li> 
      <li>sub2.2</li> 
      <li>sub2.3</li> 
      <li>sub2.4</li> 
     </ul> 
    </li> 
    <li>Page3 
     <ul class="sub"> 
      <li>sub3.1</li> 
      <li>sub3.2</li> 
      <li>sub3.3</li> 
      <li>sub3.4</li> 
     </ul> 
    </li> 
</ul> 

但這裏是什麼是真正發生的事情(比如說我目前看第二頁):

<ul id="menu"> 
    <li>Page1</li> 
    <li>Page2 
     <ul class="sub"> 
      <li>sub2.1</li> 
      <li>sub2.2</li> 
      <li>sub2.3</li> 
      <li>sub2.4</li> 
     </ul> 
    </li> 
    <li>Page3</li> 
</ul> 

此外,也許這並沒有什麼關係,但無論列表項<li>元素是相對於我目前所在的頁面給出的這些類別expanded active-trail和其他<li>給出的collapsed類。

這些類實際上並不是一個問題,問題只是內容(html)不存在。

有沒有人有任何想法這裏發生了什麼。我覺得我現在一直在Drupal管理菜單中進行挖掘。我覺得它需要在模板文件中有一個PHP解決方案或者其他東西,但是現在我不太瞭解Drupal。

謝謝!

回答

2

我相信你可以將它設置爲在菜單管理頁面展開。

  1. 前往頁面(管理員>網站建設>菜單或http://[drupal address]/admin/build/menu)。
  2. 選擇您想要處理的菜單(您可以在導航菜單上試用)。
  3. 檢查想要展開展開的子菜單下的複選框擴展。 (在上面的示例中,第1頁,第2頁,第3頁應該都選中了擴展複選框,而不是子項)
  4. 保存配置。

就是這樣。 :)

+0

謝謝,我知道有一些荒謬的簡單的解決方案,我忽略了。我發現drupal管理面板在這裏和那裏有點落後...... – jordanstephens 2010-05-17 18:02:38

+0

沒問題。 :)我確實同意你的觀點,當我第一次發現這一點時,對我來說並不明顯。 – sirhc 2010-05-17 18:05:34

0

這取決於您正在使用的主題,有些主題可能需要進行一些修改,然後才允許這樣做。 如果確實如此,應該有一個選項,如果「如果選擇並且此菜單項有子項,菜單將始終顯示爲已擴展」以勾選。

另一個問題可能是您需要將主鏈接放入塊中,而不是讓模板處理它。

本頁面描述的變化,你可以做一個主題:http://drupal.org/taxonomy/term/6348

的這種希望的東西都能派上用場。這是爲了評論,但由於我不允許評論,所以我把它放在一個答案中(請原諒我:<)。

+0

也許也想看看http://drupal.org/project/menu_block或http://drupal.org/project/submenutree – SteelSide 2010-05-14 22:24:27

0

你得到的是標準的Drupal行爲。它基於靜態的二級菜單,而不是可擴展的菜單。

有不同的模塊可以解決這個問題。如果您需要製作路線等,您可能需要做一些工作。我會推薦nice menus我已經有了使用此模塊的良好經驗,該模塊將菜單創建爲塊。