ノードページの編集タブをコンテキストメニューにしたい

カテゴリ コンテンツの管理 コアバージョン 7.38 関連モジュール Block Views node

Drupal標準では、ノード編集権を持つユーザーがノードページを表示した際、メインコンテンツとタイトルの間あたりにノード編集用のタブが表示されます。
これはこれで便利ですが、どうも見た目が未承認ユーザーで表示する場合といくらか異なり、気分が悪いです。
これをViewsやBlockのようにコンテキストメニュー(ネジアイコン)に置き換えるには?

コメント

ユーザー actbrain の写真

hook_preprocess_page() と hook_preprocess_node() を使うことで可能になります。

/**
* Implement hook_preproces_page().
*/
function モジュール名_preprocess_page(&$variables) {
if (ノード編集タブをネジアイコンにしたい) {
if (user_access('access contextual links')) {
if (arg(0) == 'node' && is_numeric(arg(1)) && !arg(2)) {
$variables['tabs'] = array('#secondary' => array()); // 標準の編集タブを削除
}
}
}
}

/**
* Imprement hook_preprocess_node().
*/
function モジュール名_preprocess_node(&$variables) {
if (ノード編集タブをネジアイコンにしたい) {
if (user_access('access contextual links')) {
$menu_local_tasks = menu_local_tasks();
if (isset($menu_local_tasks['tabs']['output'])) {
$variables['content']['#prefix'] = '<div class="contextual-links-region">'.
'<div class="contextual-links-wrapper">'.
'<ul class="contextual-links">'.
render($menu_local_tasks['tabs']['output']).
'</ul>'.
'</div>';
$variables['content']['#suffix'] = '</div>';
}
}
}
}

ページ

OTHER FAQ

Drupal開発・運用の疑問/質問の答えはここに

無料ユーザー登録すると質問できます。

カテゴリ Core Ver. 関連モジュール タイトル降順で並び替える
ユーザ 7.38 user form 新規ユーザー登録時、パスワード再設定時のパスワード入力抜けを防ぎたい
コンテンツの作成 7.34 ajax 標準のajaxフォーム(複数値:値の数=無制限)の制御l方法
コンテンツの管理 7.15 Views Bulk Operation 標準のコンテンツ編集/ユーザ一覧ページが物足りません
コンテンツの管理 7.50 Administration menu 標準のユーザー管理ページ
Messages 7.34 Disable messages 標準(コア)が表示する特定のメッセージ非表示にしたい
CentOS 7.50 消せないファイルを消すには
ユーザ 7.44 Password Policy 無効なユーザーを整理したい
フォーム 8.6.x JavaScript 特定のformにJavaScriptを紐付ける方法
フォーム 8.6.x JavaScript 特定のformに動的にJavaScriptをロードする方法
権限 7.15 Path_Access Content_Access 特定のページ(パス)をアクセス制限したい
Views 8.4x hook_views_query_alter 現在のViewsクエリを保存・再現する方法
サイトの環境設定 7.23 Image Style 画像スタイルの使い方(Crop)
コンテンツの管理 6.x Views Flag Calendar 空き室予約のような仕組みは実現できますか?
コンテンツの作成 7.38 CKEditor 突然GoogleMap内の経路がずれてしまった
テーマ 8.3x Block Cache Theme 管理ページから作成したカスタムブロックを非キャッシュ化する方法
アップデート 7.34 Core 簡単にCoreのセキュリティアップデートがしたい
テーマ 7.15 CSS Injector 簡単にCSSを追加したい
見栄え 7.15 js Injector 簡単にJavascriptを追加する方法は?
ユーザの管理 7.15 Devel 簡単に指定ユーザにログインしなおす方法
コンテンツの管理 7.15 Content Access 簡単に閲覧制限を行うには?

ページ