PrestaShop Forum

The best place in the world to ask questions about PrestaShop and get advice from our passionate community!

PrestaShop Forum

Jump to content

 

Tri des attributs (déclinaisons) - astuce

4 replies to this topic
#1
Patric Codron

    PrestaShop Superstar

  • PrestaTeam
  • 9152 posts
Bonjour,

Je viens de m'apercevoir de la chose suivante. Je ne sais pas si quelqu'un l'a déjà fait remarquer.

Beaucoup semblent se demander comment trier les listes d'attributs dans le FO.
Julien Breux a d'ailleurs donné une solution au niveau du code :
http://www.prestasho...viewthread/3834

Il semble également que les listes du FO adoptent l'ordre obtenu dans le "Générateur de déclinaison du produit".

J'avais les attributs suivants :
Couleur
Gris
Noir
Taille
S
M
L
XL
2XL
3XL
4XL

En les ajoutant tous d'un coup, ça me donnait une liste désordonnée que je retrouvais dans le FO.

J'ai donc tout supprimé et réajouté les attributs les uns après les autres, dans l'ordre que je souhaitais.
Puis j'ai "Généré".
Dans le FO, les attributs ont conservé cette ordre.
Patric CodronCommunity Manager | Manager de CommunautéPrestaShop

Posted Image Merci de respecter les règles du forum PrestaShop.com :)
Posted Image Please comply with the PrestaShop.com forum rules :)

#2
Rémy - @webdesignrr

    PrestaShop Apprentice

  • Members
  • PipPip
  • 54 posts
c'est la methode que j'ai effectué
SAUF que cet ordre n'est pas conservé lors de la duplication d'un produit > très gênant … 

Quant à la solution de Julien … vu qu'il a mis la ligne (et non le code initial à remplacer/compléter), comme le TPL a changé depuis … je ne m'y retrouve pas … 

un peu de complément d'information est-il possible ?
(et penser à corriger cette défaillance dans la prochaine version serait nécéssaire je pense, en modifiant la tpl au minimum ou en permettant un tri manuel en back-office)
--
http://www.remyrichard.net
Conception web & webdesign
--
Boutique de Faire-part original Kardamome

#3
Echelon

    PrestaShop Newbie

  • Members
  • Pip
  • 18 posts
Bonjour,

Oui il serait vraiment intéressant d'avoir des infos concernant ce gros problème de trie des déclinaisons !!!

Si un responsable Prestashop pouvait nous répondre SVP !

++
Visitez la boutique des joueurs : PC de bureau, périphériques, portables, etc ..
Cliquez ICI : www.zellion.fr

#4
Rémy - @webdesignrr

    PrestaShop Apprentice

  • Members
  • PipPip
  • 54 posts
j'ai posté un récap du sujet ici, avec les réponses possible à ce jour :
http://www.prestasho...buts__la_rponse
--
http://www.remyrichard.net
Conception web & webdesign
--
Boutique de Faire-part original Kardamome

#5
serviceclient

    PrestaShop Apprentice

  • Members
  • PipPip
  • 85 posts
Bonjour
j'ai essaye d'ajouter ce bout de code dans product.php mais ca bug n'importe ou ou je le place merci de maider



/* Color management */
if (isset($row['attribute_color']) AND $row['attribute_color'] AND $row['id_attribute_group'] == $product->id_color_default)
{
$colors[$row['id_attribute']]['value'] = $row['attribute_color'];
$colors[$row['id_attribute']]['name'] = $row['attribute_name'];
}

array_flip($groups[$row['id_attribute_group']]['attributes']);
asort($groups[$row['id_attribute_group']]['attributes']);
array_flip($groups[$row['id_attribute_group']]['attributes']);


$groups[$row['id_attribute_group']]['attributes'][$row['id_attribute']] = $row['attribute_name'];
$groups[$row['id_attribute_group']]['name'] = $row['public_group_name'];
if ($row['default_on'])
$groups[$row['id_attribute_group']]['default'] = intval($row['id_attribute']);
if (!isset($groups[$row['id_attribute_group']]['attributes_quantity'][$row['id_attribute']]))
$groups[$row['id_attribute_group']]['attributes_quantity'][$row['id_attribute']] = 0;
$groups[$row['id_attribute_group']]['attributes_quantity'][$row['id_attribute']] += intval($row['quantity']);

$combinations[$row['id_product_attribute']]['attributes_values'][$row['id_attribute_group']] = $row['attribute_name'];
$combinations[$row['id_product_attribute']]['attributes'][] = intval($row['id_attribute']);
$combinations[$row['id_product_attribute']]['price'] = floatval($row['price']);
$combinations[$row['id_product_attribute']]['ecotax'] = floatval($row['ecotax']);
$combinations[$row['id_product_attribute']]['weight'] = floatval($row['weight']);
$combinations[$row['id_product_attribute']]['quantity'] = intval($row['quantity']);
$combinations[$row['id_product_attribute']]['reference'] = $row['reference'];
$combinations[$row['id_product_attribute']]['id_image'] = isset($combinationImages[$row['id_product_attribute']][0]['id_image']) ? $combinationImages[$row['id_product_attribute']][0]['id_image'] : -1;
}