Jump to content
  • 0

Strona główna - wszystkie produkty - przekierowanie


Guest ssij.mi.kule

Question

Guest ssij.mi.kule

Witam i proszę o pomoc. 

Chciałbym aby na stronie głównej wyświetlały się wszystkie produkty (z kategorii bazowej), zamiast slidera oraz produktów polecanych.

 

czyli po wejściu na:

http://domena.pl/index.php

chciałbym aby np. było przekierowanie na:

http://domena.pl/index.php?id_category=2&controller=category

Chyba że można to zrobić w jakiś inny sposób  

 

np. wyłączając moduły na stronie głównej (czego niestety efektem będzie pusta strona główna).

 

Będę ogromnie wdzięczny za pomoc.

 

Pozdrawiam 

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

to co w tym przypadku można zrobić, to zmodyfikować kontroller: indexController.php

nic łatwiejszego nie przychodzi mi do głowy.

 

to co będzie trzeba zrobić to:

- dodać zmienną z produktami z kategorii do smarty

- w index.tpl (katalog z theme) zrobić na tablicy "foreach" wyświetlając produkty

Link to comment
Share on other sites

  • 0
Guest ssij.mi.kule

super, dzięki za pomoc!

 

a mógłbyś jeszcze podpowiedzieć jak "dodać zmienną z produktami z kategorii do smarty"? w sensie, odrobinkę kodu... plis  :) 

 

bo punkt drugi z pętlą, to bym sobie poradził. Pewnie coś w podobnego do tego będzie:

{foreach from=$products item=product name=products}
Link to comment
Share on other sites

  • 0

za kategorię bazową mam rozumieć "home" ?

$category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id);
$products = $category->getProducts((int)Context::getContext()->language->id, 1, 100);
$this->smarty->assign(array(
'products' => $products
));

coś takiego powinno rozwiązać sprawę

pisałem z pamięci, może być literówka

 

 

kod należy dodać w funkcji: public function initContent() w pliku /controllers/front/indexController.php

tuż przed wywołaniem $this->setTemplate(_PS_THEME_DIR_.'index.tpl');

Link to comment
Share on other sites

  • 0
Guest ssij.mi.kule

super! jestem ogromnie wdzięczny za pomoc

tak może być? 

public function initContent(){

		parent::initContent();

		$this->context->smarty->assign('HOOK_HOME', Hook::exec('displayHome'));
		$category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id);
		$products = $category->getProducts((int)Context::getContext()->language->id, 1, 100);
		$this->smarty->assign(array(
                               'products' => $products
                ));
		$this->setTemplate(_PS_THEME_DIR_.'product-list.tpl');
}

czy usunąć jeszcze ten drugi wiersz?

$this->context->smarty->assign('HOOK_HOME', Hook::exec('displayHome'));

tutaj ktoś zamieścił podobny kod, więc literówka z Twojej strony na pewno nie wchodzi w grę. 

 

Kategoria w której są wszystkie produkty w moim przypadku ma id=2 

więc próbowałem również z tą lekką modyfikacją

$category = new Category(2, (int)Context::getContext()->language->id);

ale za każdym razem wywala mi stronę  :(

 

będę dozgonnie wdzięczny za pomoc

Link to comment
Share on other sites

  • 0

ok, walnąłem się w kodzie.

 

musi być $this->context->smarty

 

$category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id);
$products = $category->getProducts((int)Context::getContext()->language->id, 1, 100);
$this->context->smarty->assign(array(
'products' => $products
));

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