2011-02-28 31 views
0

我已經添加了一些新的選項卡,用戶頁面添加到用戶頁面標籤,使用視圖(如菜單選項卡設置等頁面)。我現在要做的就是刪除它們,如果查看的用戶是當前登錄的用戶。Drupal的 - 通過修改意見

此前增加了一些用戶過濾,我的第一個問題是,我似乎無法在所有修改這些標籤。我知道一般的程序是使用HOOK_MENU_ALTER和(例如):

$items['user/%user/view']['type'] = MENU_CALLBACK; 

這對於原來的標籤工作正常,但不能與視圖,例如添加標籤對於「文章」選項卡:

$items['user/%user/articles']['type'] = MENU_CALLBACK; 

視圖添加的視圖與「正常」選項卡處理方式不同嗎?

乾杯, 詹姆斯

回答

2

首先你將無法使它們MENU_CALLBACK動態地隱藏起來的。你應該做的是將訪問回調改變爲你要檢查當前用戶的函數。

至於爲什麼你找不到的標籤,檢查:

  • 沒有一個菜單項與 %views_arg代替%用戶
  • 那你的模塊的重量(系統表)比觀看的重量大。由於視圖使用相同的鉤子,因此您的模塊可能在視圖之前被調用。
+0

的標籤確實使用來自視圖的說法,但%views_arg更換%的用戶似乎並沒有工作。 – james6848 2011-02-28 17:11:20

+0

是的,正確!我確定模塊的重量很高,但不是......現在工作...... – james6848 2011-02-28 21:28:58

1

我覺得景色,將所有它在hook_menu_alter東西()。要改變它,你需要在模塊中給模塊賦予比視圖更高的權重。

+0

我的模塊已經是最後一個,很遺憾。 – james6848 2011-02-28 17:08:32

+0

:(哎呀,雙重檢查數據庫和重量是不是我還以爲是......現在改變了。 – james6848 2011-02-28 21:27:42