В общем на основе этого кода можно сделать элемент смотрим пример:
$nowday = date('Y-m-d H:i:s');
$DataVIP = (array)$item->getElement('02f2fc89-6bd6-4797-bd71-2783220d7d74')->data();
$modifiedFindVIP = $this->app->data->create($DataVIP);
$is_modifiedVIP = $modifiedFindVIP->find('is_modified', NULL);
$ModifiedVIP = $modifiedFindVIP->find('modified', NULL);
$priceVIP = $modifiedFindVIP->find('price', NULL);
// $Order_idVIP = $modifiedFindVIP->find('order_id', NULL);
$EndVIP = date('Y-m-d H:i:s', strtotime("+7 day", strtotime($ModifiedVIP)));
$timesnapend = strtotime($EndVIP);
if (!empty($ModifiedVIP) && $timesnapend != 604800) {
$elementBoxVIP = $item->getElement('ad722f46-bd0e-4360-8cd1-28b70113d081'); // element id получаем так
$dataBoxVIP = (array)$elementBoxVIP->data(); // получаем данные
$changeVIP = $dataBoxVIP['option']['0'];
if (strtotime($EndVIP) < strtotime($nowday) && !empty($changeVIP) && !empty($priceVIP)) {
$changeVIP = NULL;
$elementBoxVIP->bindData($changeVIP);
$zoo->table->item->save($item);
}
}
Если вкратце: получаем данные о покупке из JBAdvert - далее сравниваем текущую дату и дату окончания VIP (дополнительное другие поля, что оплата не пустая). Меняем данные в селекте - записываем в БД. При последующем обновлении страницы - у товара уже не будет статуса VIP и условие не будет выполнено.
Ждем мнение экспертов.
Сообщение отредактировал CB9TOIIIA: 30 November 2016 - 15:09