Seřazení vlastností produktů

Vložil: Dub 22 2012 by redaktor

Tento návod je pro Prestashop verzi 1.4.6.2

Jistě jste si všimli, že základní instalace Prestashopu neumožňuje seřadit vlastnosti produktů na stránce produktů. Dobrá správa je, že malou úpravou kódu toho docílíme a o tom je tento článek.

Prvním krokem je úprava souboru Feature.php v aresáři Classes. Na řádku 202 by jste měli mít:

return Db::getInstance()->ExecuteS(‚

Změnte jej na:

$result = Db::getInstance()->ExecuteS(‚

a na řádku 210 přepište způsob řazení z:

ORDER BY nb DESC’);

na:

ORDER BY `name` ASC’);

Pozor na přesné uvozovky.

Tímto jsme nastavili řazení vlastností produktů vzestupně podle jména.

Aby tento malý trik fungoval, v administraci Prestashopu musíte při názvu vlastností přidat před jméno pořadové číslo. Například místo Délka bude mít tato vlastnost název 01.Délka, barva produktu zas 02.Barva. Když se teď podíváte na stránku s produktem, uvidíte vlastnosti seřazené podle čísla. To je sice pěkné, ale to číslo by tam nemuselo být. Ještě musíme provést malé úpravy v souboru Product.php rovněž z adresáře Classes.

Najděte řádek 2749, na kterém je:

self::$_frontFeaturesCache[$id_product.'-'.$id_lang] =

a změnte jej – přidejte na konec $result = a tedy řádek bude vypadat takhle:

self::$_frontFeaturesCache[$id_product.'-'.$id_lang] = $result =

Následně přepište o něco níže na řádkách 2752 a 2753

.(int)$id_lang.

na

.intval($id_lang).

Řádek 2754 začínajíci na WHERE změnte celý na:

WHERE pf.id_product = ‚.intval($id_product).‘
ORDER BY `name` ASC’);
$resultsArray = array();
foreach ($result AS $row)
{
$row['name'] = preg_replace(‚/^[0-9]+./’, “, $row['name']);
$resultsArray[] = $row;
}
return $resultsArray;

Tímto krokem zaručíte, aby se pořadové číslo nezobrazovalo při jednotlivých vlastnostech produktů.

Za článek děkujeme majiteli e-shopu Purpledogs.eu.

Filed under: Návody, rady a manuály

Vložit komentář

*

*

Kontrolní text
*


tři × 6 =