Bonjour à tous
bon beh, c'est un peu le [auto censure;-)] binzz ces caractéristiques techniques dés que l'on a des produits.....techniques.
l'ordre d'affichage est alphanumérique; c'est bien mais à quoi cela sert? à rien.
comment peut on modifier l'ordre d'affichage pour donner un peu de cohérence à tout ça?
merci pour vos conseils.
A+
bon beh, c'est un peu le [auto censure;-)] binzz ces caractéristiques techniques dés que l'on a des produits.....techniques.
l'ordre d'affichage est alphanumérique; c'est bien mais à quoi cela sert? à rien.
comment peut on modifier l'ordre d'affichage pour donner un peu de cohérence à tout ça?
merci pour vos conseils.
A+
Bonjour,
ayant été confronté au même problème je propose ici une solution.
* Pour modifier l'ordre d'affichage des produits sur le front
il faut modifier la classe Product (classes/Product.php) au niveau de la fonction getFrontFeaturesStatic
C'est au niveau de cette fonction qu'est lancée la requête SQL pour la récupération des caractéristiques
Il est donc possible de trier :
- en modifiant la requête SQL pour pouvoir y ajouter une clause ORDER BY
- en récupérant le résultat de la requête SQL pour le manipuler dans la fonction
exemple :
* Pour modifier l'ordre d'affichage des produits sur l'admin
même principe, il faut modifier la classe Product (classes/Product.php) au niveau de la fonction getFeaturesStatic
Remarque : ici, la requête ne récupère pas le nom et la valeur des caractéristiques, donc pour un tri via SQL il faudra modifier la requête en entier (et pas seulement ajouter un ORDER BY).
ayant été confronté au même problème je propose ici une solution.
* Pour modifier l'ordre d'affichage des produits sur le front
il faut modifier la classe Product (classes/Product.php) au niveau de la fonction getFrontFeaturesStatic
C'est au niveau de cette fonction qu'est lancée la requête SQL pour la récupération des caractéristiques
Il est donc possible de trier :
- en modifiant la requête SQL pour pouvoir y ajouter une clause ORDER BY
- en récupérant le résultat de la requête SQL pour le manipuler dans la fonction
exemple :
static public function getFrontFeaturesStatic($id_lang, $id_product)
{
// 1. Spécifier un ordre de tri (ici, tri par nom de la caractéristique)
// 2. Récupérer le résultat de la requête dans le tableau $results
$results = 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 ASC');
// 3. Manipuler le tableau $results
// pour chaque caractéristique produit...
foreach ($results as $result_line){
// ... effectuer le tri ICI
// ...
}
// 4. Retourner le tableau trié
return $results;
}
* Pour modifier l'ordre d'affichage des produits sur l'admin
même principe, il faut modifier la classe Product (classes/Product.php) au niveau de la fonction getFeaturesStatic
Remarque : ici, la requête ne récupère pas le nom et la valeur des caractéristiques, donc pour un tri via SQL il faudra modifier la requête en entier (et pas seulement ajouter un ORDER BY).
ce qu'il faudrait (le rêve quoi), ce serait cette possibilité: pour chaque catégorie de produits (pour chaque famille de produits), on pourrait définir un certain nombre de caractéristiques à remplir de façon facultative en BO; le top serait de définir à ce moment l'ordre avec lequel ces caract. doivent s'afficher .
exemple
produit pomme -> catégorie Fruit ->; caractéristiques: appellation, origine, insecticide soit 3 caractéristiques
produit renault clio -> catégorie automobile -> caractéristiques: puissance fiscale, nombre de portes, cylindrées, accessoires, soit 4 caractéristiques toutes disjointes (ou non d'ailleurs) par rapport à mon premier produit
ce serait bien de pouvoir n 'avoir accès qu'à ces 4 là qd je rentre un nouveau véhicule en BO.
qui a une idée
exemple
produit pomme -> catégorie Fruit ->; caractéristiques: appellation, origine, insecticide soit 3 caractéristiques
produit renault clio -> catégorie automobile -> caractéristiques: puissance fiscale, nombre de portes, cylindrées, accessoires, soit 4 caractéristiques toutes disjointes (ou non d'ailleurs) par rapport à mon premier produit
ce serait bien de pouvoir n 'avoir accès qu'à ces 4 là qd je rentre un nouveau véhicule en BO.
qui a une idée
Effectivement, ce serait une fonctionnalité très intéressante : pouvoir créer des "groupes de caractéristiques".
Une bonne idée de module !!!
:-)
J'ai contourné le problème en nommant les caractéristiques avec un préfixe contenant le nom du groupe et l'ordre (un peu à la manière du nommage des catégories pour le tri des catégories)
exemple : si je veux 2 groupes de caractéristiques, 1 pour les fruits, 1 pour les automobiles, je crée les caractéristiques
FRUIT.01.Appellation
FRUIT.02.Origine
FRUIT.03....
AUTO.01.Puissance fiscale
AUTO.02.Nombre de portes
AUTO.03....
ensuite, je trie les caractéristiques par ordre alphabétique (et donc par groupe), et je supprime le préfixe pour qu'il n'apparaisse pas dans l'affichage de la fiche produit (ni dans le front ni dans le back-office).
Au niveau du back-office, toutes les caractéristiques apparaissent mais elles sont triées donc c'est un peu moins gênant pour la saisie.
Une bonne idée de module !!!
:-)
J'ai contourné le problème en nommant les caractéristiques avec un préfixe contenant le nom du groupe et l'ordre (un peu à la manière du nommage des catégories pour le tri des catégories)
exemple : si je veux 2 groupes de caractéristiques, 1 pour les fruits, 1 pour les automobiles, je crée les caractéristiques
FRUIT.01.Appellation
FRUIT.02.Origine
FRUIT.03....
AUTO.01.Puissance fiscale
AUTO.02.Nombre de portes
AUTO.03....
ensuite, je trie les caractéristiques par ordre alphabétique (et donc par groupe), et je supprime le préfixe pour qu'il n'apparaisse pas dans l'affichage de la fiche produit (ni dans le front ni dans le back-office).
Au niveau du back-office, toutes les caractéristiques apparaissent mais elles sont triées donc c'est un peu moins gênant pour la saisie.
@samsab : oui, dans le front-office, le préfixe FRUIT.01. disparait.
Au niveau du back-office, je laisse le préfixe dans l'onglet Catalogue >> Caractéristiques,
par contre, dans l'onglet Caractéristiques de la fiche produit dans le back-office, je le supprime,
mais je trie les caractéristiques pour avoir un tableau du type :
FRUIT
Origine
Appellation
[...]
AUTO
Puissance fiscale
Nb de portes
[...]
Au niveau du back-office, je laisse le préfixe dans l'onglet Catalogue >> Caractéristiques,
par contre, dans l'onglet Caractéristiques de la fiche produit dans le back-office, je le supprime,
mais je trie les caractéristiques pour avoir un tableau du type :
FRUIT
Origine
Appellation
[...]
AUTO
Puissance fiscale
Nb de portes
[...]
merci pour ta réponse
pas ceratin de comprendre.
aurais tu 2 ou 3 screen à mettre ici pour bien piger.
comment peux tu "dans l’onglet Caractéristiques de la fiche produit dans le back-office, je le supprime,
mais je trie les caractéristiques pour avoir un tableau du type :"
A te lire
A+
pas ceratin de comprendre.
aurais tu 2 ou 3 screen à mettre ici pour bien piger.
comment peux tu "dans l’onglet Caractéristiques de la fiche produit dans le back-office, je le supprime,
mais je trie les caractéristiques pour avoir un tableau du type :"
A te lire
A+
Voilà deux écrans du BO.
Pour le front, tout se passe comme si il n'y avait pas de préfixe.
Pour le front, tout se passe comme si il n'y avait pas de préfixe.
Attached Files
merci
mais comment obtiens tu une séparation aussi sexy en BO?
argh je viens d'essayer: FRUIT.01. apparait bien en FO.
mais comment obtiens tu une séparation aussi sexy en BO?
argh je viens d'essayer: FRUIT.01. apparait bien en FO.
pour le BO, j'ai modifié la classe AdminProducts
(fichier admin/tabs/AdminProducts.php, fonction displayFormFeatures() )
pouru le FO, j'ai modifié la classe Product
(fichier classes/Product.php, fonction getFrontFeaturesStatic() )
(fichier admin/tabs/AdminProducts.php, fonction displayFormFeatures() )
pouru le FO, j'ai modifié la classe Product
(fichier classes/Product.php, fonction getFrontFeaturesStatic() )
ça m'intéresse également car je suis en train de chercher comment faire... mais je n'ai pas complétement résolu le pb.
J'ai réussi à modifier sur le front office mais pas sur le back office...
Quel est la modif exacte à faire sur pour changer l'apparition sur le BO et trier par ordre alphabétique et non par id
J'ai réussi à modifier sur le front office mais pas sur le back office...
Quel est la modif exacte à faire sur pour changer l'apparition sur le BO et trier par ordre alphabétique et non par id
Bonjour,
Je suis intéressé par la proposition de Codigo.
Mais il n'y a pas la solution.
Qui peut m'aider
Je suis intéressé par la proposition de Codigo.
Mais il n'y a pas la solution.
Qui peut m'aider
Bonsoir, je me permets de faire un petit up car je suis trés intéressé par cette modification
Merci beaucoup
Merci beaucoup




Back to top










