Drupalコンソールを使用してカスタムエンティティを生成しました。
drupal generate:entity:content
ただし、重大な問題が1つあります。そのエンティティに関連するさまざまな操作のすべてのデフォルトルートは/admin/..
ルート。これにより、たとえばedit
へのアクセス許可が付与されている場合でも、管理者以外のユーザーがこれらのページにアクセスできなくなります。
Companyというエンティティを生成すると、私のルートは以下の通りです:
/admin/structure/company_entity/{company_entity}
/admin/structure/company_entity/add
/admin/structure/company_entity/{company_entity}/edit
/admin/structure/company_entity/{company_entity}/delete
/admin/structure/company_entity
これらの設定を上書きまたは変更するには、モジュールをどこで編集する必要がありますか。
エンティティクラスの注釈を編集する必要があります。 module_name/src/Entity/FooEntity.php。
これは、 Node エンティティークラスから必要なものの例です。
links = {
"canonical" = "/node/{node}",
"delete-form" = "/node/{node}/delete",
"edit-form" = "/node/{node}/edit",
"version-history" = "/node/{node}/revisions",
"revision" = "/node/{node}/revisions/{node_revision}/view",
}
変更を反映するには、おそらくキャッシュを再構築する必要があります。