Tôi đã gặp lỗi nghiêm trọng EntityMalformedException: Thiếu thuộc tính gói trên thực thể của nút loại. trong entity_extract_ids () (dòng 7700 của. \ bao gồm \ common.inc) khi cố gắng truy cập user / xyz .
Tôi đã cố truy xuất thông tin về nút không đúng định dạng ở dòng 7700, nơi thông báo lỗi được tạo, nghĩ như sau:
if (!isset($entity->{$info['entity keys']['bundle']}) || $entity->{$info['entity keys']['bundle']} === '') {
dpm($info);// or dpm($entity);
throw new EntityMalformedException(t('Missing bundle property on entity of type @entity_type.', array('@entity_type' => $entity_type)));
}
dpm($entity)
trả về một đối tượng người dùng bất ngờ và $ thông tin rất nhiều thứ.
Ai đó có thể đưa tôi đi đúng hướng?
Tôi đã đọc bất cứ điều gì tôi có thể tìm thấy về Thiếu lỗi thuộc tính gói , nhưng không có gì giúp giải quyết.
dpm($entity)
trả lại
uid (String, 2 characters ) 70
name (String, 9 characters ) John
pass (String, 55 characters ) $S$DUwPuOuDPiDL4nRTYXqc7a5uOfMKey7pyhOFUEKka1XM...
mail (String, 30 characters ) john@example.com
theme (String, 0 characters )
signature (String, 0 characters )
signature_format (String, 13 characters ) filtered_html
created (String, 10 characters ) 1396286331
access (String, 10 characters ) 1397146661
login (String, 10 characters ) 1396513460
status (String, 1 characters ) 1
timezone (NULL)
language (String, 2 characters ) fr
picture (NULL)
init (String, 30 characters ) john@example.com
data (Array, 5 elements)
roles (Array, 1 element)
og_user_node (Array, 0 elements)
message_subscribe_email (Array, 1 element)
field_bio (Array, 0 elements)
field_name_first (Array, 1 element)
field_name_last (Array, 1 element)
field_facebook_url (Array, 0 elements)
field_linkedin_url (Array, 0 elements)
field_twitter_url (Array, 0 elements)
user_trusted_contacts (Array, 1 element)
group_group (Array, 1 element)
group_access (Array, 1 element)
metatags (Array, 0 elements)
rdf_mapping (Array, 3 elements)
realname (String, 13 characters ) John Doe
content (Array, 13 elements)
entity_view_prepared (Boolean) TRUE
privatemsg_disabled (Boolean) FALSE
entity_extract_ids('node', $var);
, nhưng thay vì một đối tượng nút $var
, nó lại truyền một đối tượng người dùng. Nếu bạn có bất kỳ mô-đun đóng góp phiên bản tùy chỉnh hoặc dev nào, hãy thử vô hiệu hóa từng cái một để xem nó, bạn có thể tìm ra thủ phạm
dpm(debug_print_backtrace());
sẽ là vô giá ở đây. Bạn có thể thấy mô-đun nào đã khởi động tất cả bằng cách làm theo các chức năng trở lại từ đầu yêu cầu
xdebug.collect_params = 4
điều đó cũng sẽ giúp cuộc sống của bạn dễ dàng hơn rất nhiều