drupa8でhook_init()する方法

カテゴリ PHP コアバージョン 8.3x 関連モジュール PHP

 

コメント

ユーザー actbrain の写真

カスタムモジュールで対応

module_name
 +- src
 |   +- EventSubscriber
 |       +- Module_nameSubscriber.php
 +- module_name.info.yml
 +- module_name.services.yml

module_name.info.yml

name: Module name
type: module
description: 〜
core: 8.x

module_name.services.yml

services:
  module_name_event_subscriber:
    class: Drupal\module_name\EventSubscriber\Module_nameSubscriber
    tags:
      - {name: event_subscriber}

src/EventSubscriber/Module_nameSubscriber.php

<?php

namespace Drupal\min_init\EventSubscriber;

use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class Min_initSubscriber implements EventSubscriberInterface {

  public function checkForRedirection(GetResponseEvent $event) {
    $request_uri = $_SERVER['REQUEST_URI'];
    \Drupal::logger('min_init')->notice($request_uri);
    if (preg_match('!^(/node/[0-9]+/)(edit|clone/prepopulate).*?destination=node/[0-9]+$!', $request_uri, $m)) {
      $path = \Drupal\Core\Url::fromUserInput($m[1] . $m[2]);
      $response = new RedirectResponse($path->toString());
      $response->send();
    }
  }

  /**
   * {@inheritdoc}
   */
  public static function getSubscribedEvents() {
    $events[KernelEvents::REQUEST][] = array('checkForRedirection');
    return $events;
  }

}

ページ

OTHER FAQ

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

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

カテゴリ Core Ver. 関連モジュール タイトル
PCRE 7.50 preg_match()がおかしい
コンテンツの作成 7.50 Inline Entity Form Drupal6のフィールドグループのようなモジュールはありませんか?
ユーザ 7.44 Quickbar 会員の種別(役割)別にメニューを設けたい
ユーザ 7.44 Password Policy 無効なユーザーを整理したい
コンテンツの作成 7.50 Expanding Textareas Textareaフォームの行サイズを自動調整するモジュール
コンテンツの作成 7.50 Code per Node ページ毎にCSSやJSを設定したい
コンテンツの作成 7.34 Entityreference prepopulate 新規ノード作成時のリファレンス方法
コンテンツの管理 7.50 Administration menu 標準のユーザー管理ページ
テーマ 7.34 スマホ、PCおよびアプリを同時に運用可能なおすすめのテーマはありますでしょうか?
フォーム 7.43 Webform フォーム関数が実行されるタイミングについて
サイトの構築 7.41 Rules Paygent モジュールについて
サイトの構築 7.38 Content Template ページテンプレートが反映されません。
サイトの構築 7.38 deployment 冗長構成におけるアップロードおよび時間指定公開について
サイトの構築 7.34 ECK Entityの使い方について
コンテンツの作成 7.38 Views CSV出力にHTMLが入ってしまう
ユーザ 7.38 user form 新規ユーザー登録時、パスワード再設定時のパスワード入力抜けを防ぎたい
フォーム 7.38 Views Views一覧の絞り込み検索フォームで複数フィールドを対象にしたい
コンテンツの作成 7.38 CKEditor 突然GoogleMap内の経路がずれてしまった
css 7.38 Webform Webfomの送信内容確認ページで表示が崩れる
フォーム 7.38 Webform Webformモジュールをアップデートしたら「このフィールドを入力してください」

ページ