Điểm:2

Những phương pháp nào có sẵn để giải quyết "Trường node.field_name cần được cập nhật."?

lá cờ mx
awm

Khi báo cáo trạng thái Drupal cho biết trường âfield_nameâ cần được cập nhật, tôi phát hiện ra rằng đôi khi rất khó giải quyết. Trong quá khứ chúng ta đã từng có khởi xướng nhưng điều đó đã được gỡ bỏ. Các công việc sau đây trong nhiều trường hợp:

  1. Chỉnh sửa một trường và lưu lại sau đó xuất nó. Thao tác này sẽ thêm một thuộc tính lược đồ bị thiếu: bằng cách này, bạn có thể biết những gì đã thay đổi.
  2. Xóa cấu hình khỏi cơ sở dữ liệu và nhập lại \Drupal::configFactory()->getEditable($name)->delete(). (không chắc điều này có tác dụng phụ xấu không?)
  3. gỡ cài đặt/cài đặt lại một mô-đun (không phải lúc nào cũng có thể thực hiện được).

Tuy nhiên, làm cách nào để biết chính xác những gì cần được cập nhật? Tôi đã xem mã (entityUpdateManager) getChangeSummary không thể tìm ra chính xác những gì cần cập nhật. Là có một cách? Và phương pháp # 2 có thể có bất kỳ hậu quả xấu nào không?

lá cờ cn
Cách dễ nhất là truy cập trang quản trị cài đặt lưu trữ cho trường và nhấp vào "Lưu cài đặt trường". Thao tác này sẽ gọi `::save()` trên thực thể cấu hình lưu trữ trường, thực thể này dường như luôn đồng bộ hóa mọi thứ đúng cách. Tôi chưa bao giờ thực sự thử nó, nhưng có lẽ nếu bạn cần thực hiện theo chương trình thì đơn giản như tải thực thể và lưu lại
awm avatar
lá cờ mx
awm
Tôi đã thử và tôi đã liệt kê tùy chọn 1 trong câu hỏi của mình. Tuy nhiên, nó không hoạt động đối với các trường tùy chỉnh. Có một `custom_storage` được đặt thành false cho các trường đó. Tự hỏi nếu nó có bất cứ điều gì để làm với nó. Khi bạn tạo trường tùy chỉnh, khóa `custom_stroage` có phải là true không? và `\Drupal::configFactory()->getEditable($name)->delete()` có bất kỳ tác dụng phụ nào không?
lá cờ cn
Xin lỗi, lần đầu tiên tôi phải đọc nhầm đó là một cái gì đó khác. `custom_storage` dành cho khi bạn muốn tự mình xử lý việc lưu trữ dữ liệu trường, tức là Drupal sẽ không lưu trữ dữ liệu đó trong `node__field_foo` cho bạn (trường mà Pathauto thêm vào các thực thể là một ví dụ về điều này). Một sự kiện `ConfigEvents::DELETE` được kích hoạt khi bạn xóa một mục cấu hình bằng API, vì vậy về mặt lý thuyết có thể có các tác dụng phụ, nhưng các lớp lõi đăng ký sự kiện đó có vẻ như không làm bất cứ điều gì gây ra sự cố . Đóng góp có thể là một vấn đề khác

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.