Jump to content

ordre des caractéristiques


Recommended Posts

bonjour

je ne comprends pas comment le systeme décide de classer l'ordre des caractéristiques. A priopis je pensais qu'il s'agissait d'un classement alphabétique ou par ordre d'entrée mais ce n'est pas le cas. Si quelqu'un a trouver une astuce pour avoir un ordre logique....
merci

Link to comment
Share on other sites

  • 3 weeks later...
  • 3 weeks later...

Bonjour,

je déterre ce post avec une solution que j'avais trouvé sur le forum mais qui n'est pas de moi. Je n'ai pas retrouvé le post original alors je vous le livre en espérant que l'auteur se fera connaitre :

tout d'abord il faut modifier le fichier Product.php du dossier classes comme suit : remplacer vers la ligne 1984 le paragraphe :

    static public function getFrontFeaturesStatic($id_lang, $id_product)
   {
       return Db::getInstance()->ExecuteS('
       SELECT name, value, pf.id_feature
       FROM '._DB_PREFIX_.'feature_product pf
       LEFT JOIN '._DB_PREFIX_.'feature_lang fl ON (fl.id_feature = pf.id_feature AND fl.id_lang = '.intval($id_lang).')
       LEFT JOIN '._DB_PREFIX_.'feature_value_lang fvl ON (fvl.id_feature_value = pf.id_feature_value AND fvl.id_lang = '.intval($id_lang).')
       WHERE pf.id_product = '.intval($id_product));
   }



par :

    static public function getFrontFeaturesStatic($id_lang, $id_product)
   {
       $result=Db::getInstance()->ExecuteS('
       SELECT name, value, pf.id_feature
       FROM '._DB_PREFIX_.'feature_product pf
       LEFT JOIN '._DB_PREFIX_.'feature_lang fl ON (fl.id_feature = pf.id_feature AND fl.id_lang = '.intval($id_lang).')
       LEFT JOIN '._DB_PREFIX_.'feature_value_lang fvl ON (fvl.id_feature_value = pf.id_feature_value AND fvl.id_lang = '.intval($id_lang).')
       WHERE pf.id_product = '.intval($id_product).' order by name');

      $resultsArray = array();
       foreach ($result AS $row)
       {
           $row['name'] = product::hideFeaturePosition($row['name']);
           $resultsArray[] = $row;
       }
       return $resultsArray;
   }


   static public function hideFeaturePosition($name)
   {
       return preg_replace('/^[0-9]+\./', '', $name);
   } 




Puis dans le back office il vous suffit de nommer vos caractéristiques

1.premiere_carac
2.deuxièmes_carc
3.troisième_carac

etc...

Grâce à la manip sur le fichier les caractéristiques seront rangées par nom et le numéro n'apparaitra plus.

Je répète que je ne suis pas à l'origine de cette manip donc si l'auteur passe qu'il se fasse connaître !

Enjoy !

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...

Bonjour,

Quelqu'un vient de développer un module (payant) pour classer les caractéristiques. En plus de placer le dossier du module sur votre ftp, ne pas oublier de modifier les fichiers product.php, classes/Product.php, votre_theme/produtc.tpl, comme indiqué par le concepteur du module.
Voici le lien :
http://www.grazulex.be/product.php?id_product=25

Ce module m'a été fort utile...

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