Polskie wsparcie PrestaShop
PrestaShop => Wygląd => Wątek zaczęty przez: lustfingers w Sierpień 10, 2015, 06:45:47 pm
-
Witam, przy okazji grzebania w kodzie modułu i jego sposobów wyświetlania w różnych miejscach napotkałem w pliku product.tpl kilkukrotnie powtarzający się hook z różnymi parametrami, czyli:
{hook h="displayProductPriceBlock" product=$product type="price"}
{hook h="displayProductPriceBlock" product=$product type="old_price"}
{hook h="displayProductPriceBlock" product=$product type="unit_price"}
{hook h="displayProductPriceBlock" product=$product type="weight" hook_origin='product_sheet'}
{hook h="displayProductPriceBlock" product=$product type="after_price"}
Jeśli zwrócimy coś w tym hooku poprzez
public function hookRightColumn($params)
{
return $this->hookDisplayProductPriceBlock($params);
}
to wyświetla się kilka razy to samo na stronie produktu, jak to ograniczyć tylko do jednego razu?
-
a dlaczego nie zwroćisz przez dedykowane hooki dla product.tpl typu extra left extraright czy productfooter ?
-
To nie jest kwestia chciejstwa zwrócic w takim czy innym hooku, po prostu ten hook jest najbardziej wyeksponowany i sprawdzając inne szablony również sie przewija w takiej samej bądź podobnej formie ten hook, tym bardziej jesli w tym hooku chce zwrócić cene inną niż standardowa cena, więc wydaje sie to być idealnym miejscem. Kwestia jest taka że zwrócony moduł w ten hook powiela się tyle razy ile razy dany hook wstepuje, rozumie że te parametry jakoś ograniczją co ma się w danym hooku zwrócić, dlatego ciekawi mnie czy jest taka techniczna możliwość aby odnieść się do konkretnego hooka z wybranym parametrem, wtedy moduł wywoła sie tylko w danym jednym hooku.
-
to musisz podejrzeć controler produktu. Rozumiem, że chcesz załatwić temat jednym strzałem :) Niestety [nie patrzyłem] jeśli masz parametry w nawiasach to albo z nich korzystasz albo przerabiasz kontroler albo dodajesz własnego hooka..... btw a wspomniane przeze mnie hooki nie pojawiają się w eksponowanych miejscach ??
-
w kontrolerze dla wspomnianego hook, jezlei przekierowujesz go z parametrem ustaw sobie np.
if isset($params['price']) && $params['price'] {tutaj co chcesz wyswietlic}
-
Dzięki przetestuje.