Jump to content

Kolejność rozmiarów w karcie produktu w rozwijanej liście


Recommended Posts

W karcie produktu mam listę rozwijaną z rozmiarami danego produktu albo z kolorami. Jak edytować plik product.tpl (albo jaka opcja w panelu administratora pozwala na taką modyfikację) żeby wyświetlane numery były w kolejności malejącej albo rosnącej. Obecnie po rozwinięciu listy mam mieszaną kolejność rozmiarów.

Przykład (stan obecny):

 

34

32

36

31

29

 

wersja prestashop: 1.6

szablon: electronues

Share this post


Link to post
Share on other sites

Product.php

 

jest tam funkcja:
 

public function getAttributesGroups($id_lang)

zmieniamy sortowanie z  BY position, na name,

chodzi o:

ORDER BY ag.`position` ASC, a.`position` ASC, agl.`name` ASC';

Share this post


Link to post
Share on other sites

  • 3 weeks later...

Pełne zapytanie sql (w takiej postaci rozmiary się pokazują jednak ich kolejność nadal jest przypadkowa np: 38,44,43,41,40,46,39,45)

$sql = 'SELECT ag.`id_attribute_group`, ag.`is_color_group`, agl.`name` AS group_name, agl.`public_name` AS public_group_name,
                    a.`id_attribute`, al.`name` AS attribute_name, a.`color` AS attribute_color, product_attribute_shop.`id_product_attribute`,
                    IFNULL(stock.quantity, 0) as quantity, product_attribute_shop.`price`, product_attribute_shop.`ecotax`, product_attribute_shop.`weight`,
                    product_attribute_shop.`default_on`, pa.`reference`, product_attribute_shop.`unit_price_impact`,
                    product_attribute_shop.`minimal_quantity`, product_attribute_shop.`available_date`, ag.`group_type`
                FROM `'._DB_PREFIX_.'product_attribute` pa
                '.Shop::addSqlAssociation('product_attribute', 'pa').'
                '.Product::sqlStock('pa', 'pa').'
                LEFT JOIN `'._DB_PREFIX_.'product_attribute_combination` pac ON (pac.`id_product_attribute` = pa.`id_product_attribute`)
                LEFT JOIN `'._DB_PREFIX_.'attribute` a ON (a.`id_attribute` = pac.`id_attribute`)
                LEFT JOIN `'._DB_PREFIX_.'attribute_group` ag ON (ag.`id_attribute_group` = a.`id_attribute_group`)
                LEFT JOIN `'._DB_PREFIX_.'attribute_lang` al ON (a.`id_attribute` = al.`id_attribute`)
                LEFT JOIN `'._DB_PREFIX_.'attribute_group_lang` agl ON (ag.`id_attribute_group` = agl.`id_attribute_group`)
                '.Shop::addSqlAssociation('attribute', 'a').'
                WHERE pa.`id_product` = '.(int)$this->id.'
                    AND al.`id_lang` = '.(int)$id_lang.'
                    AND agl.`id_lang` = '.(int)$id_lang.'
                GROUP BY id_attribute_group, id_product_attribute
                ORDER BY agl.`name` ASC, a.`position` ASC, agl.`name` ASC';
        return Db::getInstance()->executeS($sql);
Edited by pawlus1993 (see edit history)

Share this post


Link to post
Share on other sites

 Share

×
×
  • Create New...

Important Information

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