J'ai une erreur fatale EntityMalformedException: propriété de bundle manquante sur l'entité de type noeud. dans entity_extract_ids () (ligne 7700 de. \ includes \ common.inc) lorsque vous essayez d'accéder à user / xyz .
J'ai essayé de récupérer des informations sur le nœud mal formé à la ligne 7700, où le message d'erreur est généré, pense comme:
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)
renvoie un objet utilisateur inattendu, et $ info une énorme quantité de choses.
Quelqu'un pourrait-il me mettre sur la bonne voie?
J'ai déjà lu tout ce que je pouvais trouver sur les erreurs de propriété de bundle manquantes , mais aucune n'a aidé à les résoudre.
dpm($entity)
Retour
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);
, mais au lieu d'un objet nœud pour $var
, il passe un objet utilisateur. Si vous avez des modules de contrib de version personnalisée ou de développement, essayez de les désactiver un par un pour le voir, vous pouvez trouver le coupable
dpm(debug_print_backtrace());
sera inestimable ici. Vous pouvez voir quel module a tout déclenché en suivant les fonctions depuis le début de la requête
xdebug.collect_params = 4
cela vous facilitera également la vie