Polskie wsparcie PrestaShop
PrestaShop => Konfiguracja => Wątek zaczęty przez: Alkazz w Kwiecień 20, 2011, 12:50:30 pm
-
Witam,
Chciałbym masowo dodać/importować bony rabatowe do sklepu (wszystkie będą miały dokładnie tą samą wartość, jednak będą różne).
Pojedynczo można dodawać z poziomu Panel administracyjny -> Płatności -> Rabaty, jednak tych bonów chciałbym dodać kilkaset. W którym miejscu w bazie danych są takie kody/bony zapisane, ew jak można je importować, np z pliku excela?
pozdrawiam,
-
Witam,
czy ktoś rozwiązał ten problem, jak dodać kilkaset bonów rabatowych na raz?
Pozdrawiam
-
UUUUU widzę sami zaawansowani ;D
Sklep pobiera dane z bazy SQL i to tam tworzona jest tabela z kuponami rabatowymi.
Osobiście kody generuję sama gdyż z niego ma wynikać nazwa i numer akcji promocyjnej.
Należy stworzyć sobie jeden kod przykładowy, następnie wejść w tryb edycji w bazie danych (przez panel administracyjny bazy danych sql) następnie w poliku .xls w nagłówku podać nazwy pól.
Kolejnym krokiem jest douzupełnienie pliku niezbędnymi danymi (należy pamiętać by puste pola miały wartość NULL).
Gotowy plik należy zaimportować do tabeli z zaznaczeniem opcji ze pierwszy wiersz ma być nazwą poszczególnych kolumn.
Sprawa nie jest skomplikowana ale trzeba mieć 2 rzeczy:
1) generator kodów
2) minimum wiedzy o bazach sql i uzupełnianiu plików danymi
Mogę podpowiedzieć jak to zrobić ale od razu uprzedzam, że nie tłumaczę podstaw.
Jak tylko znajdę chwilę pokażę graficznie ze screenami jak to zrobić.
GG7434351
-
Wystarczy użyć 2 zapytań SQL powielonych x ilość kodów i sprawa załatwiona
-
Odswiezam temat. :) Jak powinny wygladac te zapytania do SQL? Czy mozna w taki sposob ustawic rowniez kategorie dla ktorej beda obowiazywac bony lub czas ich waznosci?
-
Nie trzeba na gołym SQL (można ale to więcej roboty i łatwiej o błąd). Macie obiekty przecież.
Niżej jedna z moich (wzorowanych na oryginalnych) funkcji. 95% tego co chcecie jest już gotowe. Wygenerujcie randomowe kody, ja tu akurat chciał co inngo zrobić
public function createOrderDiscount($id_customer, $id_currency, $name, $priceDiscount,$id_cart )
{
$exists = Discount::getIdByName('ACCDIS'.(int)($id_customer).'C'.(int)($id_cart));
$accIds = $this->getAccessories($id_cart);
if(!$exists AND $accIds){
$languages = Language::getLanguages();
// create discount
$voucher = new Discount();
$voucher->id_discount_type = 2;
foreach ($languages as $language)
$voucher->description[$language['id_lang']] = strval($name);
$voucher->value = (float)($priceDiscount);
$voucher->name = 'ACCDIS'.(int)($id_customer).'C'.(int)($id_cart);
$voucher->id_customer = (int)($id_customer);
$voucher->id_currency = (int)($id_currency);
$voucher->quantity = 1;
$voucher->quantity_per_user = 1;
$voucher->cumulable = 1;
$voucher->cumulable_reduction = 1;
$voucher->minimal = (float)($voucher->value);
$voucher->include_tax = 1;
$voucher->active = 1;
$voucher->cart_display = 1;
$now = time();
$voucher->date_from = date('Y-m-d H:i:s', $now);
$voucher->date_to = date('Y-m-d H:i:s', $now + (3600 * 24 * 365.25)); /* 1 year */
if (!$voucher->validateFieldsLang(false) OR !$voucher->add())
return false;
if (!$voucher->update())
return false;
return $voucher;
}
else{
$row = Db::getInstance()->ExecuteS('UPDATE `ps_discount` SET `value` = '. $priceDiscount .' WHERE `id_discount` ='. (int)$exists );
}
}
-
Posiadam moduł, który generuje bony rabatowe (dowolną ilość) o określonej specyfikacji