2

Drupal 8 は初めてで、現在、Drupal 8 用のモジュールを作成しようとしています。しかし、何時間も費やしても、私はまだそれを機能させることができません。

その中には次の 2 つのファイルがあります。

#testmodule.routing.yml
testmodule.testmodule:
  path: '/testmodule'
  defaults:
    _title: 'Index'
    _content:
      '\Drupal\testmodule\Controller\TestModuleController::testmodule'
    requirements:
      _permission: 'access content right away'


#testmodule.permissions.yml
access content right away:
    title: 'Access content'
    description: 'Access content right away.'

にアクセスする/testmoduleと、アクセスが拒否されたと表示され続けます。モジュールの何が問題なのか知っている人はいますか?

前もって感謝します。

4

3 に答える 3

2

routing.yml ファイルのインデントに問題があります。yml ファイルのインデントは非常に重要です。以下は、正しくインデントされた routing.yml ファイルです。

#testmodule.routing.yml
testmodule.testmodule:
  path: '/testmodule'
  defaults:
    _title: 'Index'
    _content: '\Drupal\testmodule\Controller\TestModuleController::testmodule'
  requirements:
    _permission: 'access content right away'

何が起こっているかというと、インデント エラーが原因で、ルート要件 (したがって許可) が適切に解析されないため、アクセス拒否エラーが発生します。

requirementsand を定義しない_permission(またはスペルを間違える) と、アクセス拒否エラーが発生することに注意してください。

于 2015-06-14T00:45:17.390 に答える
0

あなたのコードは私には良さそうです。

最初に試していただきたいのは、「admin/people/permissions」に移動して、特定の役割に「今すぐコンテンツにアクセスする」権限が付与されているかどうかを確認することです。

于 2014-10-22T20:46:16.213 に答える