drupal - EntityMetadataWrapperException: Unable to get the data property data as the parent data structure is not set
Ошибка Drupal, связанная с невозможностью доступа к сущности (Entity)
EntityMetadataWrapperException: Unable to get the data property data as the parent data structure is not set. в функции EntityStructureWrapper->getPropertyValue() (строка 442 в файле drupal\sites\all\modules\entity\includes\entity.wrapper.inc).
может быть вызвана рядом причин.
Если коротко - суть ошибки в том, что где-то есть ссылка на несуществующую запись в базе данных. Какая из таблиц вызвала ошибку - сказать сложно.
Можно (для отладки.. на время поиска ошибки) добавить по соседству с 442 строкой вывод переменных, которые передаются в функцию при помощи отладчика или функцией var_dump($variables). Конечно, нежелательно это делать на рабочем сайте… (в крайнем случае - использовать дополнительную проверку по $_SERVER[’REMOTE_ADDR’] или id пользователя - главное не забыть потом убрать.
EntityMetadataWrapperException - исключение при обработке метаданных для сущностей
Столкнулся с такой ошибкой, когда в сессии (таблица {prefix}_sessions) пользователя была сохранена информация о заказе (товаре или цене товара), при этом сама запись о цене (или ревизии цены - revision) была удалена/потеряна.
Помогло удаление связанных с записью пользователя данных о заказе (из нескольких таблиц - в том числе, таблиц заказов, строк заказа, line_items и тд.)
Метки: drupal