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.降順で並び替える 関連モジュール タイトル
言語 7.15 Entity Translation nodeのEntity Translation
タクソノミー 7.15 Hirarchical Select タクソノミー(ターム)の選択を楽にできないでしょうか
サイトの環境設定 7.15 Secure Pages Secure Pagesが急に機能しなくなった
言語 7.15 Language まだ翻訳されていない英語文、どうにかならない?
フォーム 7.15 Webform Webformで確認画面
サイトの環境設定 7.15 トップ(ホーム)ページを変更するには?
フォーム 7.15 Webform Webform - 確認ページの多言語化
フォーム 7.15 system mail()での送信が失敗する
コンテンツの管理 7.15 Views Bulk Operation 標準のコンテンツ編集/ユーザ一覧ページが物足りません
コンテンツの管理 7.15 Pagenation 一つの長いページをBookなどのように連続して読ませることはできますか?
タクソノミー 7.15 Entity_Trarnslation Taxonomy TaxonomyのEntity Translation
タクソノミー 7.15 Taxonomy manager タームを他のボキャブラリ配下に移動したい
ブロック 7.15 Views ひとつのViewsをページやブックページ中で再利用する方法は?
フォーム 7.15 Webform WebformのEntity Translation
Japanese mail 7.15 Webform, Mail System, Mime Mail, Japanese Mail Helper Webformから文字化けしないメール送信を行うには
コンテンツの作成 7.15 Darty Form 編集ページでの操作ミス
コンテンツの作成 7.15 Form API Validation フォームの入力内容を細かくチェックしたい
フォーム 7.15 DefaultTextForNode 新しいページの作成方法を一から教えてください
アップデート 7.16 Core 7.15→7.16アップデート
コンテンツの管理 7.16 PHP 好きなところにノードを埋め込みたい

ページ