Jump to content
  • 0

Moduł tworzenie db i kilka pytan hook


set4812

Question

Pisze właśnie moduł który ma za zadanie stworzyć mi baze danych. Wszystki fajnie cacy sie tworzy ale gdy chce zrobić klucz obcy przy tworzeniu dostaje błąd. Zamieszczam skrypt tworzenia

$sql= 'CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'auction`(
`id` int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`idu` int(10) unsigned NOT NULL,
`idp` int(10) unsigned NOT NULL,
`price` int(10) unsigned NOT NULL,
`maxprice` int(10) unsigned NOT NULL,
`datetime` datetime NOT NULL,
FOREIGN KEY (`idp`) REFERENCES `'._DB_PREFIX_.'product` (`id`) ON UPDATE cascade ON DELETE cascade
)    ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8;';

	    if(!$result=Db::getInstance()->Execute($sql))
	    return false;

 

Błąd jest w deklaracji klucza obcego ja nie potrafie znaleźć błędu może dla prestashop trzeba to inaczej zapisać. Licze że ktoś mi wyjaśni jak to naprawić.Jako że na necie nie moge znaleźć za bardzo ważnych danych które potem będa mi potrzebne to przy okazji sie zapytam. Poszukuje możliwość dodania poprzez moduł w panelu admina w listach produktów dodatkowych akcji na produkcie jak i modyfikacji wyglądu dodawania produktu . Domyślam się że to będa jakies hook ale nie potrafie ich znaleźć.

Dziękuje za pomoc

Pozdrawiam

set4812

Link to comment
Share on other sites

18 answers to this question

Recommended Posts

  • 0
Poszukuje możliwość dodania poprzez moduł w panelu admina w listach produktów dodatkowych akcji na produkcie

o jakich akcjach mowa? do tego służą hooki, bądź actionhooki

w tym niezbędne będzie utworzenie ich i zaimplementowanie w odpowednich miejscach klas php.

 

jak i modyfikacji wyglądu dodawania produktu

w tym przypadku modyfikujesz template back office, nie jest to tak proste jak się wydaje, gdyż całość bazuje na obiekcie (definicji obiektu) a pola generowane są automatycznie (i ich wygląd)

Link to comment
Share on other sites

  • 0

to o czym mówisz to bardziej modyfikacja core, niż utworzenie nowego modułu.

akcje definiujesz w kontrolerze AdminProductsController.php

 

generalnie całość oparta jest na obiekcie, poszczególne pola do edycji są również zdefiniowane w obiekcie.

Wszystko opiera się na tym.

Link to comment
Share on other sites

  • 0

oczywiście, że się da ale w tym celu musisz napisać cały kontroller od nowa wraz z wszystkimi funkcjami np. do edycji, dodawania, usuwania itp.

 

wiesz ile to roboty? ;)

 

lepiej powiedz co chcesz osiągnąć, może znajdzie się łatwiejsze rozwiązanie

Link to comment
Share on other sites

  • 0

Robie moduł że produkty mogą być aukcjami. I chce wyswietlić produkty wszystkie i dac dla sprzedawcy zmiane na aukcje . Tak samo wyswietlanie wszystkich aukcji . W presta tabelka wyswietlajaca ta jest bardzo dobrze wykonana. Oczywiscie moje wyswietlania itp beda wykonane w osobnym menu w back office . Dopiero zaczynam z pisaniem takich rzeczy wiec presta u mnie lezy

Link to comment
Share on other sites

  • 0

ja myślę jednak, że istota jest w tym fragmencie: "Oczywiscie moje wyswietlania itp beda wykonane w osobnym menu w back office"

chodzi chyba bardziej o wykonanie swojej "własnej tabelki" z produktami (precyzując: własny kontroler o takim podobnym template, jak strona z produktami)

Link to comment
Share on other sites

  • 0

Wykorzystałem AdminController i prawie skonczylem modul. Może ktoś mi przy okazji czemu bibloteki jquery i jquery-ui działaja dziwnie? Dodawałem dzis datetimepicker skrypt. Zalaczylem go wymagania jquery i jquery ui. Nieby wszystko jest w prestashop ale nie dziala . Dopiero jak zalaczylem UI to zadziałał, ale nie działał slider.Zalaczylem jquery i slider zadziałał ale potym posypał się lekko header strony. Próbowałem podmienić moją bibloteke jquery z ta z presta zeby slider działał. Nieby skopiowany plik i wstawiony za jquery presta ale slider przestał działać. Może ktoś wie jak spowodowac zeby wszystkie bibloteki działały i nie powodowały problemów z nagłowiek. Mówie o back-office oczywiście

Link to comment
Share on other sites

  • 0

Ja mam timedatepicker. Niestety mam pole w bazie danych datetime.

1. Screen jquery nie include.

   public function setMedia()
{
	parent::setMedia();
	$this->addCss(_MODULE_DIR_ . $this->module->name . '/css/jquery-ui-timepicker-addon.css', 'all');
	$this->addCss(_MODULE_DIR_ . $this->module->name . '/css/jquery-ui.css', 'all');
	$this->addCss(_MODULE_DIR_ . $this->module->name . '/css/admin_auctions_rutcom.css');
	//$this->addJs(_MODULE_DIR_ . $this->module->name . '/js/jquery.min.js');
	$this->addJs(_MODULE_DIR_ . $this->module->name . '/js/jquery-ui.js');
	$this->addJs(_MODULE_DIR_ . $this->module->name . '/js/jquery-ui-timepicker-addon.js');
	$this->addJs(_MODULE_DIR_ . $this->module->name . '/js/jquery-ui-sliderAccess.js');
	$this->addJs(_MODULE_DIR_ . $this->module->name . '/js/admin_auctions_rutcom.js');
}

bezJPG_nnnqsqr.JPG

Teraz wersja że dorzucam jquery do modułu

Dodam kod zeby nie było ze klamie

   public function setMedia()
{
	parent::setMedia();
	$this->addCss(_MODULE_DIR_ . $this->module->name . '/css/jquery-ui-timepicker-addon.css', 'all');
	$this->addCss(_MODULE_DIR_ . $this->module->name . '/css/jquery-ui.css', 'all');
	$this->addCss(_MODULE_DIR_ . $this->module->name . '/css/admin_auctions_rutcom.css');
	$this->addJs(_MODULE_DIR_ . $this->module->name . '/js/jquery.min.js');
	$this->addJs(_MODULE_DIR_ . $this->module->name . '/js/jquery-ui.js');
	$this->addJs(_MODULE_DIR_ . $this->module->name . '/js/jquery-ui-timepicker-addon.js');
	$this->addJs(_MODULE_DIR_ . $this->module->name . '/js/jquery-ui-sliderAccess.js');
	$this->addJs(_MODULE_DIR_ . $this->module->name . '/js/admin_auctions_rutcom.js');
}   

 

zJPG_nnnqapp.JPG

Link to comment
Share on other sites

  • 0

Dopisze podspodem obrazek mi blokował pisanie . Jquery-ui musze dodac bo plugin nie ruszy w ogole. Próbowałem skopiować jquery-min do katalogu js i zmienić mu nazwe na jquery jakie presta mi daje czyli jquery-1.7.2.min . Tylko że slider mi nie działa a ja uzywam wersji niby najnowszej. Moze mi ktos wytlumaczyc jak jquery presta obcina?

Link to comment
Share on other sites

  • 0

Rozumiem jak działa datepicker widziałem testowałem i wiem ze jest wbudowany w jquery Ui ale ja potrzebuje godzinny dodatkowo . Krystian jak nie wczytam UI to nie wczyta mi sie datetimepicker z strony

http://timjames.me/jquery-ui-datetimepicker-plugin

Krystian szuakm rozwiązania żeby nie gryzły się presty jquery jak i moje . Bo w tej chwili to co presta wczytuje dla mnie nie działa.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...