Удаление заказов по выборке средствами API и работы с объектами — различия между версиями
Материал из Umicms
Mad grant (обсуждение | вклад) (Новая страница: «Так как в административной панели удаление заказов возможно только вручную, при накоплен…») |
Mad grant (обсуждение | вклад) |
||
Строка 4: | Строка 4: | ||
В качестве примера, рассмотрим как произвести удаление всех заказов, сделанных ранее заданного года и месяца. | В качестве примера, рассмотрим как произвести удаление всех заказов, сделанных ранее заданного года и месяца. | ||
Для этого необходимо написать следующий кастом, откроем ~\clases\modules\custom.php. и поместим в него код: | Для этого необходимо написать следующий кастом, откроем ~\clases\modules\custom.php. и поместим в него код: | ||
+ | |||
public function delOrders($m=0,$y=0){ | public function delOrders($m=0,$y=0){ |
Версия 11:13, 30 октября 2012
Так как в административной панели удаление заказов возможно только вручную, при накоплении нескольких тысяч заказов, их удаление будет проблематичным.
В качестве примера, рассмотрим как произвести удаление всех заказов, сделанных ранее заданного года и месяца. Для этого необходимо написать следующий кастом, откроем ~\clases\modules\custom.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"; }
где m и y это месяц и год соответственно.