web-dev-qa-db-ja.com

Drupalコンソールによって生成されたエンティティのビューの変更とルートまたはURLの編集

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

これらの設定を上書きまたは変更するには、モジュールをどこで編集する必要がありますか。

2
esafwan

エンティティクラスの注釈を編集する必要があります。 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",
}

変更を反映するには、おそらくキャッシュを再構築する必要があります。

4
Clive