/ admin / configページへのリンクの追加[終了]


8

Drupal 8のモジュールを作成する方法を学んでいます。多数の基本的なチュートリアルを読みましたが、/ admin / configページへのリンクの追加について話しているチュートリアルを見たことはありません。

具体的には、WEB SERVICESエリアの下にリンクを追加したいと思います。

ここに画像の説明を入力してください


なぜこれが「不明確」として閉じられているのですか?それはかなり明確であり、終了の管理者が質問と承認された回答の両方を編集しました。これはここに属していますか?
user1359

タスクについて説明し、それらのチュートリアルが示唆していることは言うまでもなく、多くのチュートリアルを読んだと言ったり、OPで機能しなかった理由を質問したりしていません。
kiamlaluno

質問はタグを削除するように編集されました。回答は誤った提案された編集を元に戻すように編集されました。どちらの編集も投稿の意味を変えませんでした。
kiamlaluno

回答:


14

他のメニュー項目と同じようにこれを行うことができます。メニュー構造内の正しい位置を選択するだけです。

まず、mymodule.routing.ymlに管理パスを追加します。

/admin/config/...

次に、メニュー項目をmymodule.links.menu.ymlに配置し、適切な親の下に配置します。

mymodule.action_method_name:
  title: 'My Title'
  description: 'My Description'
  parent: system.admin_config
  route_name: 'mymodule.action_method_name'

admin / configのサブメニューでは、対応する親を選択します。たとえば、「Regional And Language」は次のとおりです。

parent: system.admin_config_regional

「Webサービス」の場合:

parent: system.admin_config_services

特定の管理メニューの親の値を見つける簡単な方法はありますか?私はコアについて詳しく調べてきましたが、特定のメニューがどのコアモジュールからのものかを調べるのは難しい場合があります。
James Shields

とても良い点でとても助かります!少し注意したいのですが、この例では、action_method_nameの後に「:」が必要です。これが実際の例です:mymodule.action_method_name: title: 'My Title'乾杯!
Nikolay Borisov 2016年

ジェームズのような同様の質問があります。メニューの親の名前を見つけるにはどうすればよいですか?
2016年

あなたはそれらを見つけることができる*.links.menu.ymlシステムモジュールの:cgit.drupalcode.org/drupal/tree/core/modules/system/...
4k4

1
@jpt、元の質問は「Webサービス」に関するものです。"People"がユーザーモジュールからのものであることは明らかですが、知らない場合は、Drupalインストールにあるすべての* .links.menu.ymlファイルで簡単に検索できます。
4k4

5

のサービスの下にリンクを作成するのは非常に簡単/admin/configです。

この例では、設定と呼ばれる管理ページのコンテンツが内部のコントローラーによって埋められることを疑います src/Controller/MymoduleController.php

モジュールのルートには、2つのファイルとがmymodule.routing.ymlありmymodule.links.menu.ymlます。

で、mymodule.links.menu.ymlファイルあなたはこれを書くことができます。

mymodule.settings:
  title: 'My module settings page'
  parent: system.admin_config_services
  description: 'Admin settings page link'
  route_name: mymodule.settings

そしてmymodule.routing.ymlこれで:

mymodule.settings:
  path: '/admin/config/services/mymodule'
  defaults:
    _controller: '\Drupal\quotesapi\Controller\MymoduleController::settings'
    _title: 'My module settings'
  requirements:
    _permission: 'administer site configuration'

次に、コントローラー関数のsettings()を使用してページのコンテンツを設定できますが、それは質問の範囲外です。

それが役に立てば幸い!


0

このモジュールを使用すると、非常に簡単な方法でニーズを解決できます。

https://www.drupal.org/project/config_pages

設定方法の詳細な説明は、上記のURLにあります。

コードの使用:

<?php print config_pages_get('footer', 'field_footer_copyright'); ?>

ここで、フッターは@Type引数であり、呼び出す構成ページのタイプを指します。


動作しませんでした。どうすれば問題をデバッグできますか?
Romisha Aggarwal 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.