Как записать сообщение журнала при сохранении коммерческого заказа через 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 для создания нового изменение при сохранении или запись сообщения журнала заказов?

Author: Chris Burgess, 2018-04-22

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 передается по ссылке, из памяти информация журнала изменений может быть установлена таким образом.

 2
Author: David Thomas, 2018-04-22 04:43:00