Jump to content
magisterson

Błąd przy edycji sklepu

Recommended Posts

Świeżo zainstalowany sklep PS (ostatnie wydanie 1.6) pojawia się błąd przy próbie skasowania banerów z konfiguratora szablonu:

[PrestaShop] Fatal error in module file :/sklep/classes/db/DbPDO.php:
Uncaught Error: Call to a member function rowCount() on boolean in /sklep/classes/db/DbPDO.php:208 Stack trace: #0 /sklep/modules/themeconfigurator/themeconfigurator.php(399): DbPDOCore->Affected_Rows() #1 /sklep/modules/themeconfigurator/themeconfigurator.php(532): ThemeConfigurator->removeItem() #2 /sklep/controllers/admin/AdminModulesController.php(868): ThemeConfigurator->getContent() #3 /sklep/controllers/admin/AdminModulesController.php(1117): AdminModulesControllerCore->postProcessCallback() #4 /sklep/classes/controller/Controller.php(178): AdminModulesControllerCore->postProcess() #5 /sklep/classes/Dispatcher.php(367): ControllerCore->run() #6 /sklep/admin2864ghxxd/index.php(58): DispatcherCore->dispatch() #7 {main} thrown

Nie wiem co może być przyczyną. Mam ustawioną konfigurację PHP w wersji 7.0, max input vars na 5000, wszystkie inne dostępne parametry PHP na maxa.

Pomożecie?

Share this post


Link to post
Share on other sites

Jest błąd w module, odszukaj funkcje odpowiedzialną za usuwanie zdjęć i usuń w zapytaniu przedrostek prefiks ponieważ jest dublowany i przy próbie nie usuwania zdjęcia, nie potrafi znaleźć odpowiedniej tabeli.

Share this post


Link to post
Share on other sites

Skąd takie rzeczy przy świeżej instalce? 

Przypomniałem sobie, że tuż po instalacji zainstalowałem jeden plugin: http://prestashopaddon.com/download/prestashop-modules/responsive-prestashop-manufacturer-carousel-slider-module-free-prestashop-module/ i po wrzuceniu go nie pojawił się na liście modułów z zielonym przyciskiem "instaluj" - tak jak jest to na ogół. Może to on podmienił plik i spowodował błąd? Nie byłem w stanie użyć tego pluginu, nie był dostępny.

Share this post


Link to post
Share on other sites

Postawiłem świeżą instalkę, bez żadnych dodatków. Pierwsze co, idę do konfiguratora i znów błąd. Dziwne, pierwszy raz coś takiego widzę. Jedyną różnicą w instalacji PS było to, że wrzuciłem plik pl.gzip (pobrany ze storny presty) do katalogu /translations ponieważ za każdym razem przy instralacji presta zatrzymywała się na 23% z informacją, że nie można było zainstalować języka polskiego. Z tego co wiem sklep łączy się z serwerami persty podczas instalacji, może jest jakaś przerwa techniczna?

Tak czy inaczej znalazłem removeItem() w themeconfigurator.php i wygląda ona tak:

	protected function removeItem()
	{
		$id_item = (int)Tools::getValue('item_id');

		if ($image = Db::getInstance()->getValue('SELECT image FROM `'._DB_PREFIX_.'themeconfigurator` WHERE id_item = '.(int)$id_item))
			$this->deleteImage($image);

		Db::getInstance()->delete(_DB_PREFIX_.'themeconfigurator', 'id_item = '.(int)$id_item);

		if (Db::getInstance()->Affected_Rows() == 1)
		{
			Db::getInstance()->execute('
				UPDATE `'._DB_PREFIX_.'themeconfigurator`
				SET item_order = item_order-1
				WHERE (
					item_order > '.(int)Tools::getValue('item_order').' AND
					id_shop = '.(int)$this->context->shop->id.' AND
					hook = \''.pSQL(Tools::getValue('item_hook')).'\')'
			);
			Tools::redirectAdmin('index.php?tab=AdminModules&configure='.$this->name.'&conf=6&token='.Tools::getAdminTokenLite('AdminModules'));
		}
		else
			$this->context->smarty->assign('error', $this->l('Can\'t delete the slide.'));
	}
	

 

OK, mam rozwiązanie problemu:

Db::getInstance()->delete(DB_PREFIX.'themeconfigurator', 'id_item = '.(int)$id_item);

zmieniłem na

Db::getInstance()->delete('themeconfigurator', 'id_item = '.(int)$id_item);

 

To chyba jakiś błąd presty bo instalka jest świeża. Nigdy wcześniej się z tym nie spotkałem.

 

Edited by magisterson
dodanie rozwiązania (see edit history)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More