Acest lucru a fost întrebat aici înainte; dar întrebarea este închisă și cele câteva răspunsuri nu oferă suficiente informații.
Încerc să folosesc un modul contrib (sitewide_alert) care oferă propria sa entitate personalizată.Încerc să îmi dau seama cum să corectez acest modul pentru a-l face aplicabil (și cum să fac acest lucru în general).
În alte postări, am văzut sugestii pentru a adăuga următoarele la adnotarea ContentEntityType:
- fieldable = TRUE;
- bundle_entity_type = ??
- field_ui_base_route -> sugestii diferite, dar există deja pentru acest modul care indică formularul de configurare al modulului.
Dar niciunul dintre aceștia nu părea să rezolve asta.
adnotarea completă pentru entitate este:
* @ContentEntityType(
* id = "sitewide_alert",
* label = @Translation ("Alertă la nivel de site"),
* label_plural = @Translation ("Alerte la nivel de site"),
* label_collection = @Translation ("Alerte la nivel de site"),
* handler = {
* "storage" = "Drupal\sitewide_alert\SitewideAlertStorage",
* "view_builder" = "Drupal\Core\Entity\EntityViewBuilder",
* "list_builder" = "Drupal\sitewide_alert\SitewideAlertListBuilder",
* "views_data" = "Drupal\sitewide_alert\Entity\SitewideAlertViewsData",
* "translation" = "Drupal\sitewide_alert\SitewideAlertTranslationHandler",
*
* „form” = {
* "default" = "Drupal\sitewide_alert\Form\SitewideAlertForm",
* "add" = "Drupal\sitewide_alert\Form\SitewideAlertForm",
* "edit" = "Drupal\sitewide_alert\Form\SitewideAlertForm",
* "delete" = "Drupal\sitewide_alert\Form\SitewideAlertDeleteForm",
*},
* „furnizor_rută” = {
* "html" = "Drupal\sitewide_alert\SitewideAlertHtmlRouteProvider",
*},
* "access" = "Drupal\sitewide_alert\SitewideAlertAccessControlHandler",
*},
* base_table = "sitewide_alert",
* data_table = "sitewide_alert_field_data",
* revision_table = "sitewide_alert_revision",
* revision_data_table = "sitewide_alert_field_revision",
* show_revision_ui = TRUE,
* traducebil = ADEVĂRAT,
* admin_permission = „administrați entități de alertă la nivel de site”,
* entity_keys = {
* "id" = "id",
* „revizuire” = „vid”,
* "label" = "nume",
* "uuid" = "uuid",
* "uid" = "user_id",
* "langcode" = "langcode",
* „publicat” = „stare”,
*},
* revision_metadata_keys = {
* "revision_user" = "revision_user",
* "revision_created" = "revision_created",
* "revision_log_message" = "revision_log",
*},
* linkuri = {
* "canonical" = "/admin/content/sitewide_alert/{sitewide_alert}",
* "add-form" = "/admin/content/sitewide_alert/add",
* "edit-form" = "/admin/content/sitewide_alert/{sitewide_alert}/edit",
* "delete-form" = "/admin/content/sitewide_alert/{sitewide_alert}/delete",
* "version-history" = "/admin/content/sitewide_alert/{sitewide_alert}/revisions",
* "revision" = "/admin/content/sitewide_alert/{sitewide_alert}/revisions/{sitewide_alert_revision}/view",
* "revision_revert" = "/admin/content/sitewide_alert/{sitewide_alert}/revisions/{sitewide_alert_revision}/revert",
* "revision_delete" = "/admin/content/sitewide_alert/{sitewide_alert}/revisions/{sitewide_alert_revision}/delete",
* "translation_revert" = "/admin/content/sitewide_alert/{sitewide_alert}/revisions/{sitewide_alert_revision}/revert/{langcode}",
* "colecție" = "/admin/content/sitewide_alert",
*},
* field_ui_base_route = "sitewide_alert.settings",
* constrângeri = {
* „ScheduledDateProvided” = {}
*}
* )
*/
În abordarea mea de încercare/eroare, am observat că am creat interfața de utilizare Manage Fields/Display/etc pentru fiecare entitate pe care o creasem anterior. Deci, cred că acest lucru este posibil legat de faptul că nu aveți un pachet definit? Cazul meu de utilizare nu necesită crearea de noi pachete (similar cu entitatea Utilizator).
În ciuda celorlalte răspunsuri postate; Cred că modificarea adnotării nu este suficientă pentru a adăuga această funcționalitate.