Drupalでログインした後にすぐ管理画面に遷移させる
こんにちは、中村です。
もうお盆も近づいていますね。
弊社は好きなタイミングで取るシステムになっており、
(大変ありがたいことに)仕事の混み具合があるので、僕の夏休みは当分先になりそうです。
閑話休題。
前回ブログで、Drupalで遊んでいると言っていますが今日はそこから小ネタを少々。
Drupalで管理画面にログイン(/user/login)すると、ログイン後初期画面はマイページ(/user/user-id)になります。
それはそれで良いのですがいわゆる通常のサイト(ユーザー認証がいらないサイト)は、
管理画面に直で行った方が使いやすいなと思ったわけです。
そこでユーザーログインの部分をフックして、リダイレクトさせるようなモジュールにしました。
(こうしておけばインストールさえすれば別サイトでも使えるので)
<?php use Drupal\Core\Form\FormStateInterface; /** * Implements hook_form_FORM_ID_alter(). */ function modulenamehoge_form_user_login_form_alter(&$form, FormStateInterface $form_state, $form_id) { $form['#submit'][] = '_modulenamehoge_user_login_form_submit'; } /** * Custom submit handler for login form. */ function _modulenamehoge_user_login_form_submit($form, FormStateInterface $form_state) { $form_state->setRedirect('system.admin'); }
上のmodulenamehoge_form_user_login_form_alterでsubmitの時の呼び出す関数を下の_modulenamehoge_user_login_form_submitにオーバーライドしてます。
やってることは大したことはないのですが、意外と使えるんじゃないかなという小ネタでした。