Удаление заказов по выборке средствами API и работы с объектами
Материал из Umicms
Версия от 11:14, 30 октября 2012; Mad grant (обсуждение | вклад)
Так как в административной панели удаление заказов возможно только вручную, при накоплении нескольких тысяч заказов, их удаление будет проблематичным.
В качестве примера, рассмотрим как произвести удаление всех заказов, сделанных ранее заданного года и месяца. Для этого необходимо написать следующий кастом, откроем ~\clases\modules\custom.php. и поместим в него код:
<source="php">public function delOrders($m=0,$y=0){
$orders = new selector('objects'); $objectsCollection = umiObjectsCollection::getInstance(); $orders->types('object-type')->name('emarket','order'); foreach($orders as $order){ $date=$order->order_date; echo $order->id."
"; $parsDate=explode('-',$date); if(($parsDate[0]<$y)){ $objectsCollection->delObject($order->id); } if(($parsDate[1]<$m)){ $objectsCollection->delObject($order->id); } if((!$parsDate[0])&&(!$parsDate[1])){ $objectsCollection->delObject($order->id); } } return "done"; }</source="php">
где m и y это месяц и год соответственно.