Cześć, staram się konfigurować nowy sklep na presta 1.7. Nie mogę nigdzie znaleźć opcji z menu bocznym jako kategorii i menu górnym jako odnośnik np do cms'a.
w miejscu nazwy kontrolera podajemy jego nazwę ale musimy użyć znaku podkreślenia _ np. jeżeli mamy AbcProduct jako nazwę kontrolera, to nazwa naszego katalogu będzie brzmiała następująco abc_product
Jeżeli chcemy sprawdzić jak nazywa się nasz kontroler możemy użyć narzędzia jakie daje nam PrestaShop: Tools::toUnderscoreCase(substr($this->controller_name, 5));
jak mam usunąć inne rekordy w innej tabeli bazy danych podczas akcji submitBulkdelete - warunek kiedy akcja jest uruchamiana mam raczej poprawny bo np wysłanie roboczo maila działa, ale próba uruchomienia jakiejś metody nie działa...
if(Tools::isSubmit('submitBulkdelete'.$this->table) || Tools::isSubmit('delete'.$this->table)) {
mail('mail@gmail.com', 'Temat wiadomości', $message);
}
LUB
if ($this->action == 'delete' || $this->action == 'bulkdelete') {
mail('mail@gmail.com', 'Temat wiadomości', $message);
}
metodę do usuwania dodatkowych rekordów z bazy tworze następująco:
-zapisuję pod zmienną instancję klasy podając parametr id $categorygallery = new CategoryGalleryModel((int)Tools::getValue('id_categorygallery'));
-wywołuję metodę do usuwania $categorygallery->deleteObj();
w momencie usuwania pojedynczych rekordów ta dodatkowa metoda deleteObj działa
Żeby nie myło tu tak pusto dodam pierwszy prosty poradnik opisujący modyfikację sklepu pozwalającą przekierować klienta z kategorii zawierającej tylko jeden produkt bezpośrednio na stronę tego produktu.
Na samym początku BACKUP!
Tworzymy plik php o nazwie: CategoryController.php
<?php
class CategoryController extends CategoryControllerCore
{
public function initContent()
{
parent::initContent();
if(isset($this->cat_products) && count($this->cat_products) == 1) {
header('HTTP/1.1 302 Moved Temporarily');
header('Cache-Control: no-cache');
header('Location: '.$this->context->link->getProductLink((int)$this->cat_products[0]['id_product']));
exit;
}
}
}
Plik umieszczamy w katalogu /override/controllers/front/ i czyścimy cache klas czyli usuwamy plik /cache/class_index.php. Po tej czynności modyfikacja powinna już działać. Jeśli w podanym katalogu istnieje już taki plik musimy je scalić, czyli skopiować tylko funkcję initContent() do pliku, jeśli i sama funkcja o takiej nazwie już tam jest to nie ma rady i trzeba wezwać fachowca na pomoc lub zapytać na naszym forum
Witam.
Nie mogę otworzyć zamówień.
Pojawia mi się błąd:
Fatal error: Call to a member function getTemplates() on a non-object in /var/www/html/kopia/override/controllers/admin/AdminOrdersController.php on line 137
Jak wyłącze Override to jest OK.
Jak to naprawić??
Przeglądający
Brak zarejestrowanych użytkowników, przeglądających tę stronę.
Nikt jeszcze nie otrzymał reputacji w tym tygodniu.
Statystyki forum
Tematów
7 825
Postów
37 127
Ta strona wykorzystuje pliki cookie
Używamy informacji zapisanych za pomocą plików cookies w celu zapewnienia maksymalnej wygody w korzystaniu z naszego serwisu.
Mogą też korzystać z nich współpracujące z nami firmy badawcze oraz reklamowe.
Jeśli nie wyrażasz zgody, ustawienia dotyczące plików cookies możesz zmienić w swojej przeglądarce.