我正在使用drupal 7.首先請參考我的屏幕截圖以獲取我正在談論的內容。 http://www.karya.gisla.in/scr.pngDrupal - 如何更改默認視圖/編輯操作內容類型的名稱
可以說我的內容類型是文章。當我們創建一篇文章時,對於通過身份驗證的用戶,節點將顯示主要選項卡,即:查看和編輯。我只是想改變/編輯它來說:查看文章和編輯文章。
注意:僅限特定內容類型。即其他內容類型,例如頁面將顯示爲默認值:查看和編輯。
任何想法如何實現這一點。
任何幫助將不勝感激。
我正在使用drupal 7.首先請參考我的屏幕截圖以獲取我正在談論的內容。 http://www.karya.gisla.in/scr.pngDrupal - 如何更改默認視圖/編輯操作內容類型的名稱
可以說我的內容類型是文章。當我們創建一篇文章時,對於通過身份驗證的用戶,節點將顯示主要選項卡,即:查看和編輯。我只是想改變/編輯它來說:查看文章和編輯文章。
注意:僅限特定內容類型。即其他內容類型,例如頁面將顯示爲默認值:查看和編輯。
任何想法如何實現這一點。
任何幫助將不勝感激。
下面的代碼沒有辦法。將其粘貼到主題template.php中,並將YOURTHEMENAME更改爲...主題名稱。 也許在這個函數中使用dpm($ vars)來查看$ vars中的哪些類型的信息。這應該有助於您下次更快地達到這一點。
[編輯:] 感謝本指出! 這裏有一個更新的版本:
function YOURTHEMENAME_preprocess_page(&$vars) {
if ($vars['node']->type == 'article') {
foreach($vars['tabs']['#primary'] AS $index => $tab) {
if($tab['#link']['title'] == t('View')) {
$vars['tabs']['#primary'][$index]['#link']['title'] = t('View Article');
}
if($tab['#link']['title'] == t('Edit')) {
$vars['tabs']['#primary'][$index]['#link']['title'] = t('Edit Article');
}
}
}
}
玩得開心,馬丁
String Overrides Module可能會有幫助,但我不確定它是否處理角色。
您可以將以下函數放入主題的模板文件中,並用主題名稱替換YOURTHEME
以更改選項卡鏈接。
$nodes
是一個多維數組,其中第一級鍵是您希望替換標籤的內容類型,第二級鍵值組合分別是路徑和替換模式。將替換模式設置爲''
將刪除該選項卡。
/**
* Implements hook_menu_local_tasks_alter().
*/
function YOURTHEME_menu_local_tasks_alter(&$data, $router_item, $root_path) {
$nodes = array(
'article' => array(
'node/%/view' => 'View Article',
'node/%/edit' => 'Edit Article'
)
);
foreach ($router_item['page_arguments'] as $key => $argument) {
if (is_object($argument) && array_key_exists($router_item['page_arguments'][$key]->type, $nodes)) {
foreach($nodes[$router_item['page_arguments'][$key]->type] as $path => $new_title) {
foreach ($data['tabs'][0]['output'] as $key => $value) {
if ($value['#link']['path'] == $path) {
if(!$new_title) {
unset($data['tabs'][0]['output'][$key]);
} else {
$data['tabs'][0]['output'][$key]['#link']['title'] = $new_title;
}
}
}
}
}
}
}
嗨,你能解釋一下你的代碼專門foreach循環。正如您在下面的評論中所說的那樣「假設在查看或編輯之前沒有模塊添加鏈接」。我很想實施它。但是請稍微解釋一下我的代碼,這樣我就不會忘記它。 – 2012-04-25 16:29:39
沒有爲一個模塊: https://drupal.org/project/tabname_tweaker ;-)
這可能是http://drupal.stackexchange.com/questions/48276/change-name-of-a-tab-for-a-specific-content-type – aexl 2014-03-18 11:37:57
這假設在查看或編輯之前沒有模塊添加鏈接(因此改變鍵「0」和「1」)意味着其他標籤可以被覆蓋。 – 2012-04-25 15:41:19
謝謝。它的工作。 @ ben-swinburne:你說得對,但現在我沒有這樣的模塊。 – 2012-04-25 16:25:14
這是否適用於Drupal 7? – Jayaram 2012-10-19 21:43:13