Polskie wsparcie PrestaShop
PrestaShop => PrestaShop 1.6 => Wątek zaczęty przez: qbas-s w Kwiecień 13, 2015, 03:03:05 pm
-
Potrzebuję dodać dodatkową opcję podczas dodawania produktu.
w .tpl dodałem co trzeba i od strony widoku jest wszystko ok.
do tpl dodałem to
<div class="checkbox">
<label for="discontinued">
<input type="checkbox" name="discontinued" id="discontinued" value="1" {if $product->discontinued}checked="checked"{/if} >
Produkt wycofany z produkcji - zostaną pokazane zamienniki</label>
</ div>
W AdminProductsController
w metodzie copyFromPost()
dokonałem aktualizacji tego
if ($this->isTabSubmitted('Informations')) {
$object->available_for_order = (int) Tools::getValue('available_for_order');
$object->show_price = $object->available_for_order ? 1 : (int) Tools::getValue('show_price');
$object->online_only = (int) Tools::getValue('online_only');
}
na to
if ($this->isTabSubmitted('Informations')) {
$object->discontinued = (int) Tools::getValue('discontinued');
$object->available_for_order = (int) Tools::getValue('available_for_order');
$object->show_price = $object->available_for_order ? 1 : (int) Tools::getValue('show_price');
$object->online_only = (int) Tools::getValue('online_only');
}
dodatkowo w metodzie initFormInformations()
zmieniłem
array_push($product_props, 'reference', 'ean13', 'upc', 'available_for_order', 'show_price', 'online_only', 'id_manufacturer'
);
na to
array_push($product_props, 'reference', 'ean13', 'upc', 'available_for_order','discontinued', 'show_price', 'online_only', 'id_manufacturer'
);
do tabeli _product dodałem oczywiście kolumnę discontinued tinyint(1) default 0
Po zapisaniu produktu nic się nie aktualizuje. O czym jeszcze zapomniałem?
Teraz modyfikuję główne pliki presty. Wiadomo co się stanie po aktualizacji. W związku z tym jak w presta powinno się dokonywać tego typu modyfikacji?
-
do tego typu modyfikacji jest katalog ./override w nim powinny znajdowac sie wszystkie zmienione kontrolery z zawatymi zmienionymi funkcjami.
do bazy danych zapisuje ci poprawne wartosci?
-
nie zapisuje
-
nie zapisuje zupełnie nic
-
co znaczy zupelnie nic? czyli, ze teraz nic nie zapisuje czy tylko nie ma zmian w polu 'disconiued' ?
-
tylko w polu disconiued
-
a sprobuj jeszcze dodac nowa validacje zmiennej w classes/Product.php chociaz, do bazy powinno juz zapisywac...i jeszcze dodaj ta nowa kolumne do ps_product_shopa tak w ogole, ;) wlacz wysweitlanie bledow MODE_DEV i zobacz, mzoe wyrzuci cos konretnego podczas zapisu
-
nic nie wyrzuciło, zadziałało, zrobiłem dokładnie to co napisałeś. Dziękuję :)