Как записать сообщение журнала при сохранении коммерческого заказа через Drupal EntityWrapper?
Я программно изменяю набор заказов и при этом хочу записать сообщение журнала.
Существует ли существующий метод добавления редакции и регистрации при этом?
$order_id = 800;
$order = commerce_order_load($order_id);
$order_wrapper = entity_metadata_wrapper('commerce_order', $order);
$order_wrapper->uid->set(1);
$order_wrapper->mail->set('[email protected]');
// $order_wrapper->log->set('Changed order owner and mail');
// $order_wrapper->revision->set(true);
$order_wrapper->save();
В настоящее время, если я попытаюсь $order_wrapper->log->set('x');
, я увижу Исключение entitymetadatawrapperexception: Журнал неизвестных свойств данных., но я считаю, что это свойство порядка (на основе GetPropertyInfo() и т. Д.).
Поддерживаются ли оболочки метаданных Commerce Order + Entity для создания нового изменение при сохранении или запись сообщения журнала заказов?
1 answers
Возможно, вам потребуется установить свойства revision
и log
для объекта заказа по умолчанию вместо оболочки.
Например:
$order_id = 800;
$order = commerce_order_load($order_id);
$order_wrapper = entity_metadata_wrapper('commerce_order', $order);
$order_wrapper->uid->set(1);
$order_wrapper->mail->set('[email protected]');
// Set revision details on order object
$order->revision = TRUE;
$order->log = t('Changed order owner and mail');
$order_wrapper->save();
Поскольку объект order передается по ссылке, из памяти информация журнала изменений может быть установлена таким образом.