Jump to content
  • 0

Moduły -> Pozycje Dodanie Nowej Pozycji Do Modulu


krzysztofnowak

Question

10 answers to this question

Recommended Posts

  • 0

W kontrolerze modułu musisz dopisać obsługę nowego hooka na zasadzie:

 

public function hookNowyHook($params)

{

return $this->hookStaryHook($params);

}

 

Czyli do nowego hooka przypisujesz sposób wyświetlania z starego hooka, nie wiem jak to jest dokładnie w twoim module stąd tylko taki przykład, później w Moduły > Pozycje przypisujesz moduł do nowego hooka.

Link to comment
Share on other sites

  • 0

Dziękuję ślicznie. 

Ten problem rozwiązany ale pojawił się inny. 

Muszę przeszukać forum w poszukiwaniu rozwiązania, inaczej nowy temat założę :)

Pozdrawiam

_____

Jednak nie rozwiązany.

Po dodaniu nowego hook'a po załadowaniu strony wyskakuje błąd serwera 500 a na stronie administracyjnej błąd:

"[PrestaShop] Fatal error in module file :[]/classes/module/Module.php(1331) : eval()'d code:

Cannot redeclare HomeFeatured::hookDisplayHome()"

 

1331(+1332) w kodzie to:

if (eval('if (false){ '.$file.' }') !== false)

require_once( _PS_MODULE_DIR_.$module.'/'.$module.'.php' );
Edited by krzysztofnowak (see edit history)
Link to comment
Share on other sites

  • 0

public function hookDisplayHome($params)
	{
		if (!$this->isCached('homefeatured.tpl', $this->getCacheId()))
		{
			$this->_cacheProducts();
			$this->smarty->assign(
				array(
					'products' => HomeFeatured::$cache_products,
					'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
					'homeSize' => Image::getSize(ImageType::getFormatedName('home')),
				)
			);
		}

		return $this->display(__FILE__, 'homefeatured.tpl', $this->getCacheId());
	}

Użyłem tego kodu (vekia go polecił komuś do włączenia losowości produktów- to jest mój główny problem. Nie mogę sprawić, by produkty polecane wyświetlały się losowo). 

Po dodaniu go do pliku homefeatured.php z automatu wyskakuje ten błąd. 

Gdy próbowałem dodać jakikolwiek inny kod dalej występował błąd.

Link to comment
Share on other sites

  • 0

Problem jest taki:

1) mam dwa moduły do wyświetlania polecanych produktów na stronie:

    1a) Polecane produkty na stronie głównej (homefeatured) - posiada funkcję losowego wyświetlania ale nie widzę go na stronie

    1b) Products Carousel on homepage - Templatin (tptnprodcarousel) - wyświetlają się na stronie produkty,  ale nie ma możliwości, żeby były losowo z danej kategorii
 

W obu mam przydzieloną tą samą kategorię. 

Liczyłem, że jak przypiszę 1a do DisplayHome to się pokaże.

Link to comment
Share on other sites

  • 0

Nie, nie.

Chcę wrzucić homefeatured do DisplayHome i tylko jego wyświetlać z polecanymi produktami. 
Ten drugi jest już na stronie, ale nie ma opcji losowego wyświetlania. 

 

Homefeatured przpisany jest do :

-displayHeader

-displayHomeTab

-displayHomeTabContact

 

Product Carousel do:

- displayHome

 

Myślałem że skoro Product Carousel jest tylko w displayHome i widzę go na stronie, to jak przypiszę do tej pozycji (displayHome) moduł homefeatured, to zadziała i się pokaże :)

Link to comment
Share on other sites

  • 0

Teraz tak z ciekawości zajrzałem do kontrolera modułu i w standardzie ma on obsługę tego hooka więc nic w pliku nie trzeba zmieniać jedynie należy wejść w Moduły > pozycje > przemieszczanie modułu > i podpiąć go pod hook home oraz odpiąć go z hooka hometab i hometabcontent.

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...