Jump to content

Moduł bestseller


ufiartist

Recommended Posts

"idzie" ale to nie będzie łatwe.

trzeba zdecydować czy chcemy modyfikować kontroler, czy nie.

jeżeli chcemy: będzie trzeba dodać klauzule sprawdzającą kategorie produktu w zapytaniu sql (where default_category = 5)

jeżeli nie chcemy: będzie trzeba zmodyfikować plik .tpl modułu który sprawdzi czy pobrane z bazy produkty są przypisane do danej kategorii, i jeżeli są - to je wyświetlić.

 

druga opcja niesie za sobą ryzyko, że w publi produktów nie będzie takich powiązanych z kategorią, i się nie wyświetlą

pierwsza opcja to ingerencja w core, co nie jest zbyt dobrym rozwiązaniem :)

Link to comment
Share on other sites

chyba nie dokładnie się wyraziłem :) Posiadam kategorię bestsellery i chciał bym żeby ten moduł pokazywał wszystkie produkty z danej kategorii. Może istnieje jakieś inne wyjście żeby można było zarządzać tym co wyświetla się w tym module?

 

Krótko mówiąc chciałem na stronie głównej wyświetlić konkretne produkty z konkretnej kategorii. Myślałem do tego użyć modułu bestseller.

Edited by ufiartist (see edit history)
Link to comment
Share on other sites

moduł wyświetla bestsellery w oparciu o dane ze sprzedaży, czyli są to realne bestsellery, czyli to co rzewczywiście sie sprzedaje.

jeżeli chcesz robić ludzi w konia :P to będize trzeba trochę zmienić kod modułu.

 

w pliku blockbestsellers.php jest kod:

	protected function getBestSellers($params)
	{
		if (Configuration::get('PS_CATALOG_MODE'))
			return false;

		if (!($result = ProductSale::getBestSalesLight((int)$params['cookie']->id_lang, 0, 8)))
			return (Configuration::get('PS_BLOCK_BESTSELLERS_DISPLAY') ? array() : false);

		$currency = new Currency($params['cookie']->id_currency);
		$usetax = (Product::getTaxCalculationMethod((int)$this->context->customer->id) != PS_TAX_EXC);
		foreach ($result as &$row)
			$row['price'] = Tools::displayPrice(Product::getPriceStatic((int)$row['id_product'], $usetax), $currency);

		return $result;
	}

to co będize trzeba zrobć to zmienić tę funkcję aby zamiast pobierania informacji o realnych najlepiej sprzedajacych sie produktach pobierała produkty ze wskazanej kategorii

 

 

tj. definiujemy kategorie z której chcemy pobierać produkty: (np. kategoria o id 15)

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

 

oraz pobrać produkty
$products=$category->getProducts((int)Context::getContext()->language->id, 1, 8, 'position');

 

i $products zwrócić jako "result" tej funkcji

Link to comment
Share on other sites

  • 11 months later...

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