สิ่งนี้ถูกถามที่นี่มาก่อน แต่คำถามถูกปิดและการตอบกลับบางส่วนไม่ได้ให้ข้อมูลเพียงพอ
ฉันกำลังพยายามใช้โมดูลสนับสนุน (sitewide_alert) ซึ่งมีเอนทิตีที่กำหนดเองฉันกำลังพยายามหาวิธีแพตช์โมดูลนี้เพื่อให้สามารถกรอกข้อมูลได้ (และโดยทั่วไปจะทำอย่างไร)
ในโพสต์อื่น ๆ ฉันได้เห็นคำแนะนำให้เพิ่มสิ่งต่อไปนี้ในคำอธิบายประกอบ ContentEntityType:
- ฟิลด์ได้ = TRUE;
- bundle_entity_type = ??
- field_ui_base_route -> คำแนะนำที่แตกต่างกัน แต่มีอยู่แล้วสำหรับโมดูลนี้ที่ชี้ไปที่แบบฟอร์มการกำหนดค่าของโมดูล
แต่ดูเหมือนจะไม่มีใครแก้ไขปัญหานี้ได้
คำอธิบายประกอบแบบเต็มสำหรับเอนทิตีคือ:
* @ContentEntityType(
* id = "sitewide_alert",
* label = @Translation("การแจ้งเตือนทั่วทั้งไซต์"),
* label_plural = @Translation("การแจ้งเตือนทั่วทั้งไซต์"),
* label_collection = @Translation("การแจ้งเตือนทั่วทั้งไซต์"),
ตัวจัดการ * = {
* "ที่เก็บข้อมูล" = "Drupal\sitewide_alert\SitewideAlertStorage",
* "view_builder" = "Drupal\Core\Entity\EntityViewBuilder",
* "list_builder" = "Drupal\sitewide_alert\SitewideAlertListBuilder",
* "views_data" = "Drupal\sitewide_alert\Entity\SitewideAlertViewsData",
* "การแปล" = "Drupal\sitewide_alert\SitewideAlertTranslationHandler",
*
* "แบบฟอร์ม" = {
* "default" = "Drupal\sitewide_alert\Form\SitewideAlertForm",
* "เพิ่ม" = "Drupal\sitewide_alert\Form\SitewideAlertForm",
* "แก้ไข" = "Drupal\sitewide_alert\Form\SitewideAlertForm",
* "ลบ" = "Drupal\sitewide_alert\Form\SitewideAlertDeleteForm",
* },
* "route_provider" = {
* "html" = "Drupal\sitewide_alert\SitewideAlertHtmlRouteProvider",
* },
* "การเข้าถึง" = "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,
* admin_permission = "จัดการเอนทิตีการแจ้งเตือนทั่วทั้งไซต์",
* entity_keys = {
* "รหัส" = "รหัส",
* "การแก้ไข" = "วิดีโอ",
* "ฉลาก" = "ชื่อ",
* "uuid" = "uuid",
* "uid" = "user_id",
* "langcode" = "รหัสภาษา",
* "เผยแพร่แล้ว" = "สถานะ",
* },
* revision_metadata_keys = {
* "revision_user" = "revision_user",
* "revision_created" = "revision_created",
* "revision_log_message" = "revision_log",
* },
* ลิงก์ = {
* "canonical" = "/admin/content/sitewide_alert/{sitewide_alert}",
* "แบบฟอร์มเพิ่มเติม" = "/admin/content/sitewide_alert/add",
* "แก้ไขแบบฟอร์ม" = "/admin/content/sitewide_alert/{sitewide_alert}/edit",
* "แบบฟอร์มการลบ" = "/admin/content/sitewide_alert/{sitewide_alert}/delete",
* "ประวัติเวอร์ชัน" = "/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}",
* "collection" = "/admin/content/sitewide_alert",
* },
* field_ui_base_route = "sitewide_alert.settings",
* ข้อ จำกัด = {
* "ScheduledDateProvided" = {}
* }
* )
*/
ในการลองผิดลองถูก ฉันสังเกตเห็นว่าฉันได้สร้าง UI จัดการฟิลด์/ดิสเพลย์/อื่นๆ สำหรับแต่ละเอนทิตีที่ฉันสร้างไว้ก่อนหน้านี้ ดังนั้นฉันคิดว่านี่อาจเกี่ยวข้องกับการไม่ได้กำหนดบันเดิล? กรณีการใช้งานของฉันไม่จำเป็นต้องสร้างบันเดิลใหม่ (คล้ายกับเอนทิตีผู้ใช้)
แม้จะมีคำตอบอื่น ๆ ที่โพสต์; ฉันเดาว่าการแก้ไขคำอธิบายประกอบไม่เพียงพอสำหรับการเพิ่มฟังก์ชันนี้