0

I have strange behavior that when i visit www.mysite.com/taxonomy/term/516/sdfsdf

i get

EntityMalformedException: Missing bundle property on entity of type taxonomy_term. in entity_extract_ids() (line 7788 of /../includes/common.inc). The website encountered an unexpected error. Please try again later.

while it should load content of

www.mysite.com/taxonomy/term/516

Can anyone help?

15
0

there seems to be an error in

entity_extract_ids()

in some circumstances the entity info for taxonomy term is wrong .. (probably with entity translation in my case)

function entity_extract_ids($entity_type, $entity) {
  $info = entity_get_info($entity_type);

  // Objects being created might not have id/vid yet.
  $id = isset($entity->{$info['entity keys']['id']}) ? $entity->{$info['entity keys']['id']} : NULL;
  $vid = ($info['entity keys']['revision'] && isset($entity->{$info['entity keys']['revision']})) ? $entity->{$info['entity keys']['revision']} : NULL;

  if (!empty($info['entity keys']['bundle'])) {
    // Explicitly fail for malformed entities missing the bundle property.
    if (!isset($entity->{$info['entity keys']['bundle']}) || $entity->{$info['entity keys']['bundle']} === '') {
      throw new EntityMalformedException(t('Missing bundle property on entity of type @entity_type.', array('@entity_type' => $entity_type)));
    }
    $bundle = $entity->{$info['entity keys']['bundle']};
  }
  else {
    // The entity type provides no bundle key: assume a single bundle, named
    // after the entity type.
    $bundle = $entity_type;
  }

  return array($id, $vid, $bundle);
}

this is 1:1 the code (not patched ..), that needs changes. from common.inc

see here for patches: https://www.drupal.org/node/1270340#comment-9890989

when using EntityFieldQuery and fe. node_load_multiple make sure to pass fully loaded entites ! use node_load_multiple and pass that result.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy