Usuwanie listy zamówień

w&w

Avatar: w&w

2015-12-10 09:10

Witam, mam kilkanaście stron zamówień i chciałbym je usunąć. Aktualnie aby to zrobić musiałbym klikać pojedynczo czyli kilkaset razy. Nie ma czegoś takiego jak zaznacz wszystkie. Da się coś takiego dodać? Ew czy da się usunąć edytując jakiś plik w bazie? Szukałem tematu na forum, na googlu. Nie znalazłem.

» Quick.Cart v6.x

Mateo

selekcjoner

Avatar: selekcjoner

2015-12-10 10:18

Modyfikacja nie jest prosta.
Zamówienia są w 4 plikach bazy więc ręcznie też raczej odpada.

boboo

Avatar: boboo

2015-12-10 10:19

Jeśli nie boisz się zrobić o jeden klik za dużo... :-)
Zanim zaczniesz to robić, ściągnij (i zabezpiecz) sobie z katalogu database/
pliki zaczynające się na "orders_" (orders_temp możesz pominąć)

w core/order-admin.php dodaj funkcję:


public function deleteOrdersRange($sIdRange=null){
 if(isset(
$sIdRange)&&strstr($sIdRange,'-')){
  
$aExp=explode('-',$sIdRange);
  for(
$i=$aExp[0];$i<($aExp[1]+1);$i++){
   
$this->deleteOrder($i);
  }
 }
}


Następnie w pliku templates/admin/orders.php
NAD:


<select name="iStatus">
 <option><?php echo $lang['Change_status']; ?></option>
 <?php echo $sStatusSelect?>
</select>


dodaj:

<input type="text" name="sOrdersRange" size="8"/>


Zapisz zmiany i sprawdź na liście zamówień: powinno się pojawić pole (do popisu :-)) obok selektora zmiany statusu zamówienia.
Jeśli jest, to jedziemy dalej w pliku templates/admin/orders.php
NAD:

$oOrder->saveOrders$_POST );


dodaj:


if(isset($_POST['sOrdersRange'])&&!empty($_POST['sOrdersRange'])){
 
$oOrder->deleteOrdersRange($_POST['sOrdersRange']);
}


Gotowe.
Działa to tak:
tylko wtedy, jeśli w tym polu wpiszesz ZAKRES zamówień przedzielony myślnikiem "-"
np. 23-157
i klikniesz na "zapisz"
zostaną usunięte (BEZ DODATKOWYCH PYTAN, "czy aby na pewno chcesz to zrobić") zamówienia 23 do 157 (przykładowe numery).

boboo :-)

selekcjoner

Avatar: selekcjoner

2015-12-10 10:22

Brawo boboo :)

Do góry
o nas | kontakt