您在這裡

自建菜單項(menu item)在secondary links菜單上顯示問題

say2sky's 的頭像
say2sky 在 2008-06-21 (週六) 00:14 發表

問題的出現:
我的view顯示頁面是一個列表,需要占據整個頁面寬度(因為字段多占用了大的空間),我將 view頁面的左右邊欄(sidebar)都拿掉了, 也就是說在view頁面沒有導航(navigation)菜單。
在這種情形下,需要在secondary links菜單上添加一個菜單項(menu item),可以讓用戶回到創建內容(Create content)頁面

期望的目標:
在用戶登入並訪問 view/username 頁面時,將“創建內容”菜單項(menu item)顯示在secondary links菜單上

下面是一個在用戶登入後顯示的菜單的模組的基本結構

我現在的問題是:
1) 已經通過Site building>Add menu添加了名稱為secondary links的菜單,在模組中如何得到它
2)它出現在導航(navigation)菜單上, 不是在secondary links菜單上,要如何改才能出現在secondary links菜單上
3)它會出現在用戶登入後的所有頁面上,要如何做頁面路徑判斷才可以讓它只出現在view/*頁面上


'node/add' ,
'title' => t('創建內容'),
'access' => user_access('view backto_create'));
}
return $items;
}
?>

我按照你的這個提示,做了嘗試

1)可以産生一個鏈接
2)用 php 應該可以判斷用戶是否登入,然後確定是否顯示“回到創建內容”的鏈接(哈哈,還沒試)
3)它的一個問題是這個鏈接的顯示位置是在 各種view的tab以下,在view的內容(現在是用table格式顯示的)之上。我希望“回到創建內容”的鏈接是放在 view的tab之上。

另一種做法是
在內容區域上方自訂一個 region
然後把 secondary links 這個 menu 的 blcok 設定在此 region 顯示
顯示的設定裡面
可以改成只在以下頁面顯示
下面的文字區域輸入路徑的設定
views/*
這樣在所有 views/ 開頭的路徑就會顯示 secondary links 這個 block

這兩種做法都可以在不寫程式不寫模組的情況下達成

現在我用了一個怪招, 我把導航(navigation)菜單放到了secondary links菜單上,這樣導航(navigation)菜單上出現的菜單項都會出現在secondary links菜單,而導航(navigation)菜單上的菜單項什麽時候再什麽頁面上出現仍然是系統原來的方法控制。

這樣我什麽都不要改了,頁面也最簡潔,比較符合我的構想,以後升級也不會有其他幹擾。