2010-11-16 40 views
3

我想在用戶配置文件頁面頂部的[查看] [編輯] [文件] ...菜單鏈接旁邊添加菜單項。當用戶點擊它時,它應該表現得像其他人一樣,因爲它不會啓動到新的頁面,但他們點擊的菜單項(我們稱之爲「Funky Button」)變成灰色,用戶仍然在用戶配置文件區。Drupal用戶配置文件頁面中的自定義菜單選項卡

我創建了一個鉤狀如下:

function my_module_funky() { 
    // TODO: what to do? 
} 


function my_module_menu() { 

    $items['user/%user/funky'] = array(
     'title' => t('Funky Button'), 
     'page callback' => 'my_module_funky', 
     'page arguments' => array(1), 
     'access callback' => TRUE, 
     'access arguments' => array('access funky button'), 
     'type' => MENU_LOCAL_TASK, 
    ); 

    return $items; 
} 

所以這上面的代碼片斷添加按鈕 - 但我無法弄清楚如何得到它顯示的觀點一樣,和編輯按鈕顯示他們的內容。謝謝!

+0

這爲我工作。謝謝 – 2013-03-21 11:04:44

回答

0

你的回調需要返回一個包含該頁面顯示的HTML代碼中的字符串,例如:

function my_module_funky($user){ 
drupal_set_title('Funky page'); 
return 'This is the $user value: <pre>'.var_export($user, true).'</pre>'; 
} 

$user來自你hook_menu實現透射的價值線'page arguments' => array(1)%user通配符作爲頁面回調的第一個參數。


如果它是一個複雜的頁面,你可能要創建一個模板文件中的主題功能,這樣你可以存儲在一個文件.tpl.php頁面的代碼,這使得它更容易維護(尤其是如果你的模塊創建很多這樣的自定義頁面)。

如果您的模塊變得流行或者其他模塊可以預處理頁面以添加/修改變量,這也可以讓主題通過提供自己版本的.tpl.php文件來自定義頁面輸出。

+0

完美的我所需要的,謝謝 – Andrew 2010-11-18 08:58:54

相關問題