Вы здесь

Как программно очистить поле товара после окончания действия акции?

0

Стоит модуль commerce discount для реализации акций на сайте, когда акция заканчивается по времени, удаляется компонент воздействующий на базовую стоимость, соответственно удаляется и массив из ноды

 ['content']['product:commerce_price']['#items'][0]['data']['components']

моя задача, когда удалится массив с компонентом, программно очистить значение поля в ноде.

Реализовал пока так(неправильный костыль, но я в поиске решения):

function themename_preprocess_node(&$variables){
if(!isset(компонент формирующий скидку)){ // если нет массива со скидкой
    $variables['field_discount'] = array(); // очищаю поле
    node_save($variables); // сохраняю узел
}

}

насколько это правильно следуя идеологии dru, и может есть варианты по феншую?

upd: точнее я сомневаюсь, что через препроцесс нод это нужно реализовывать, нужно какое то более глобальное событие

Версия Drupal: 
7.x
Связанные проекты: 
Drupal CommerceCommerce Discount
Вопрос задан 25.10.2017 - 15:30
Аватар пользователя im
im
22

Ответы