Jump to content
Prestaraf

Dodanie modułu promocji do kategorii

Recommended Posts

Witam,

Presta 1.6

po kliknięciu na kategorie nad listą produktów tej kategorii chciałbym blok z promocjami produktów z tej kategorii. Jakieś pomysły?

Z góry dzięki za pomoc.

Share this post


Link to post
Share on other sites

Nikt nic? może na początek jak mogę w ogóle zaczepić moduł promocji w kategoriach? w zaczepach nie widzę nic co by zaczepiało do  product-list.tpl

- nie znam się na tworzeniu nowych zaczepów ale chętnie się nauczę jeśli będzie taka potrzeba, może ma ktoś jakieś dobre materiały?

Share this post


Link to post
Share on other sites

tak już znalazłem tą stronę i kombinuje w plikach .tpl

jak to zrobię to następna kwestia to będzie wyświetlanie promocji tylko z danej kategorii, jakiś pomysł?

Share this post


Link to post
Share on other sites

Mam jednak problemy z podpięciem bloku promocji, w category.tpl dodałem:

{hook h='displayMyHookName' mod='blockspecials'}

w blockspecials.tpl dodałem:

&& $this->registerHook('displayMyHookName')

oraz:

public function hookDisplayMyHookName($params)
{
    // Your code here
    return 'display file';
}

wzorowałem się na stronie https://www.teapot.co.uk/adding-custom-hook-prestashop-1-6/ i w zasadzie to to samo co http://doc.prestashop.com/display/PS16/Managing+Hooks 

i nic się nie zmieniło... ani w tabeli ps_hook nie ma nowego zaczepu ani w zapleczu dla bloku promocji nie ma nowego zaczepu. Gdzie robię błąd? może jeszcze coś muszę dodać?

Edited by Prestaraf

Share this post


Link to post
Share on other sites

ok, po przeinstalowaniu jest, działa :) , tyle że puki co pokazuje "display file"

jak np. skopiuje:

return $this->hookRightColumn($params);

 

z "hookLeftColumn" do tej funkcji pokazuje mi promocje z linkiem do wszystkich promocji tak jak w lewej kolumnie dla tego modułu, tyle, że mi chodzi o

o wyświetlenie promocji z danej kategorii. Jakiś kierunek, co mogę tu wpisać?

 

 

Share this post


Link to post
Share on other sites

Zobacz jak to jest zrobione w funkcji hookRightColumn, tam promocje są pobierane za pomocą funkcji Product::getRandomSpecial.

Musisz napisać własną funkcję która będzie pobierała promocje z wyświetlanej (bieżącej) kategorii, dane później przekaż do szablonu.

 

Share this post


Link to post
Share on other sites

kombinuje z tym..., bardziej jako przykład wezmę funkcję hookDisplayHomeTabContent tu mam odrazu wszystkie promocje (nielosowe)

if (Configuration::get('PS_CATALOG_MODE'))
			return;

		if (!$this->isCached('blockspecials-home.tpl', $this->getCacheId('blockspecials-home')))
		{
			$this->smarty->assign(array(
				'specials' => BlockSpecials::$cache_specials,
				'homeSize' => Image::getSize(ImageType::getFormatedName('home'))
			));
		}

		if (BlockSpecials::$cache_specials === false)
			return false;

		return $this->display(__FILE__, 'blockspecials-home.tpl', $this->getCacheId('blockspecials-home'));

tylko właśnie ta kwestia wyświetlania promocji z kategorii - nie znam jeszcze za dobrze presty, może jakaś sugestia jak się nazywa funkcja wyświetlająca nazwe kategorii?

druga kwestia to muszę mieć inne style dla tego widoku więc skopiowałem plik blockspecials-home.tpl na nazwe blockspecials-category.tpl w kodzie powyżej zmieniłem home na category i sie wysypuje "No special products at this time." - nie wyświetla promocji w ogóle? jaka może być tego przyczyna?

Share this post


Link to post
Share on other sites

szukam, testuje i nie wiem jak to ugryźć, może jakaś sugestia odnośnie funkcji wywołującej produkty na promocji z kategorii robić to na podstawie hookRightColumn czy hookDisplayHomeTabContent ? jak mówiłem presty jeszcze nie znam za dobrze pod tym kontem.

Share this post


Link to post
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

×

Important Information

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