cocoges Posted May 11, 2010 Share Posted May 11, 2010 Bonjour, Je ne suis pas un développeur ni un avisé en matière de php et de sql.Voila mon souhait : Dans l'édition d'une fiche produit depuis l'admin, je souhaite qu'une de mes caractéristiques soit à réponse multiple du type "maintient de la touche CTRL ou SHIFT pour sélection)Je souhaite apporter plusieurs réponse possible pour une caractéristique car je m'en sert pour un moteur de recherche un peu plus poussé.Je ne sais pas s'il faut effectuer une modif sur une page php ou s'il faut effectuer une modif sur sql.Par avance merci de votre aide ! Link to comment Share on other sites More sharing options...
thecat22 Posted May 11, 2010 Share Posted May 11, 2010 Euh...Exemple éventuellement ?? Link to comment Share on other sites More sharing options...
cocoges Posted May 11, 2010 Author Share Posted May 11, 2010 J'ai une caractéristique "AMBIANCE"en valeurs j'ai par exemple : nostalgique, dynamique, romantique...Le but étant de pouvoir sélectionner plusieurs valeurs pour la caractéristique "AMBIANCE" du produit.Merci de l'attention. Link to comment Share on other sites More sharing options...
thecat22 Posted May 11, 2010 Share Posted May 11, 2010 Ok.J'avoue que je ne sais pas si c'est faisable sans ajout de module.J'ai un peu cherché sur prestatools.com mais je n'ai rien vu qui pourrait fonctionner comme çà. Avez-vous cherché aussi sur le forum ?Mis à part les créations d'attributs, mais que l'on choisit uniquement un à la fois, je ne vois pas comment faire... Link to comment Share on other sites More sharing options...
cocoges Posted May 11, 2010 Author Share Posted May 11, 2010 j'ai cherché sur le forum et sur le web mais j'ai pas trouvé grand chose pour m'aider.Je suis sure que l'on va trouver un soutient ici de personnes un peu plus expérimentées ;-)Merci à toi. Link to comment Share on other sites More sharing options...
cocoges Posted May 14, 2010 Author Share Posted May 14, 2010 Toujours personne pour ce post ? pas même une idée ? Link to comment Share on other sites More sharing options...
cocoges Posted May 18, 2010 Author Share Posted May 18, 2010 toujours pas d'idée ? Link to comment Share on other sites More sharing options...
cocoges Posted May 20, 2010 Author Share Posted May 20, 2010 Je suis sure que qqun a une idée Link to comment Share on other sites More sharing options...
jeckyl Posted May 20, 2010 Share Posted May 20, 2010 Bonjour,je en comprends pas bien ce que vous voulez faire.Voici ce que j'ai compris :Dans la partie caractéristiques de la fiche produit, à la place d'avoir une liste déroulante avec vos "ambiances" vous souhaiteriez avoir la possibilité d'en sélectionner plusieurs et donc de les afficher du style "nostalgique, dynamique, romantique" sur la fiche technique apparaissant sur le frontoffice.Si c'est cela et si cette caractéristique ne possède pas 600 possibilités, pourquoi ne pas préenregistrer les possibilité et les sélectionner par la suite ? Link to comment Share on other sites More sharing options...
cocoges Posted May 20, 2010 Author Share Posted May 20, 2010 En faite, dans les caractéristique d'une fiche produit, la caractéristique me permet d'enregistrer plusieurs valeurs. Par contre, dans le menu déroulant, je ne peux en sélectionner qu'une seule sauf si je les rajoute à la suite dans le champs libre.Ce que je souhaite faire c'est d'avoir la possibilité d'en sélectionner plusieurs.La finalité c'est que le multivaleur sur une caractéristique, je pourrais l'utiliser dans un module de recherche avancée cela permet d'affiner avec précision.Je ne sais pas si je me suis fait comprendre ? Link to comment Share on other sites More sharing options...
Myriss Posted June 18, 2010 Share Posted June 18, 2010 Si quelqu'un a trouvé une solution je suis également preneur. Link to comment Share on other sites More sharing options...
Camille Frisch Posted June 20, 2010 Share Posted June 20, 2010 Si je comprends bien vous souhaitez que les caractéristiques s'affichent sous forme de list (http://blog.mikarama.fr/astest/img/list.png ) au lieu d'un select ( http://blog.mikarama.fr/astest/img/combobox.png ) ?Si c'est bien cela il devrait suffire de modifier le formulaire en question. Un peu d'aide ici : http://www.commentcamarche.net/contents/html/htmlform.php3mika Link to comment Share on other sites More sharing options...
Myriss Posted June 20, 2010 Share Posted June 20, 2010 Désolé mais après étude, il semblerait que ce ne soit pas la solution.Cela ne suffit car bien évidemment ces variables sont stockées dans la base de donnée et malheureusement, pour faire cela il faut modifier la structure de la table ainsi que les requêtes SQL. Link to comment Share on other sites More sharing options...
Camille Frisch Posted June 20, 2010 Share Posted June 20, 2010 J'aimerai avoir plus de temps pour regarder en détail, mais je dirai qu'il faut en effet modifier la requete pour qu'elle ajoute plusieurs enregistements d'un coup, mais je doute fort qu'il faille modifier la structure de la table. Link to comment Share on other sites More sharing options...
cybersteph Posted June 20, 2010 Share Posted June 20, 2010 je vois exactement ce que tu veux dire et à ma connaissance, un seul module (que j'utilise d'ailleur) te permettrais de réaliser très facilement cela, c'est le module "attribute wizard pro" de tomer.A+ Link to comment Share on other sites More sharing options...
Myriss Posted June 20, 2010 Share Posted June 20, 2010 Merci _mika_, on pourrait effectivement envisager de concaténer les valeurs sélectionnées en une seule. Link to comment Share on other sites More sharing options...
speedscuba Posted March 20, 2011 Share Posted March 20, 2011 En faite, dans les caractéristique d'une fiche produit, la caractéristique me permet d'enregistrer plusieurs valeurs. Par contre, dans le menu déroulant, je ne peux en sélectionner qu'une seule sauf si je les rajoute à la suite dans le champs libre.Ce que je souhaite faire c'est d'avoir la possibilité d'en sélectionner plusieurs.La finalité c'est que le multivaleur sur une caractéristique, je pourrais l'utiliser dans un module de recherche avancée cela permet d'affiner avec précision.Je ne sais pas si je me suis fait comprendre ? Bonjour Cocoges,J'ai le même problème, afin d'utiliser une moteur de recherche avec fonction de tri, j'ai besoin d'affecter plusieurs valeurs à une même caractéristique. Après plusieurs recherches je n'ai rien trouvé sur le ou les forums.j'ai pensé à une solution qui consiste à créer une catégorie correspondant à la caractéristique et plusieurs sous-catégorie correspondant aux différentes valeurs.Ce système peut permettre d'utiliser la fonction tri sur cette catégorie.Si tu as une autre solution ou si tu as trouvé comment résoudre ton problème, je suis preneur.@+ Link to comment Share on other sites More sharing options...
mexique1 Posted October 30, 2011 Share Posted October 30, 2011 Salut, Je me permets de déterrer ce post, car j'ai le même besoin : pour une boutique musicale, j'ai forcément une caractéristique "Artiste", et un morceau peut avoir plusieurs artistes... J'ai un peu regardé, et la modification est envahissante. En gros, il faut : - Modifier la table feature_product pour permettre d'attribuer plusieurs valeurs. - Modifier la classe admin/tabs/AdminProducts.php pour poster un tableau dans le formulaire. - Créer un override de la classe Product et surcharger addFeaturesToDB, getFeaturesStatic et getFrontFeaturesStatic pour gérer les valeurs sous forme de tableau. Sinon l'idée de speedscuba n'est pas bête ! Avec une arborescence de catégories cachées qui représentent les caractéristiques multiples, ça peut le faire, et c'est moins envahissant, car il "suffit" de créer un module qui créé automatiquement les caractéristiques en fonction des catégories. Je pense que je vais opter pour la deuxième solution... Link to comment Share on other sites More sharing options...
novoselov Posted January 23, 2012 Share Posted January 23, 2012 Désolé pour mon français, traduite via Google. Je tiens à mettre en œuvre cette fonctionnalité en utilisant select multiple a changé le code, mais tombe malheureusement dans la base de la première valeur des caractéristiques de l'. est une liste: 1. if (sizeof($featureValues)) { echo ' <select multiple id="feature_'.$tab_features['id_feature'].'_value" name="feature_'.$tab_features['id_feature'].'_value[]" onchange="$('.custom_'.$tab_features['id_feature'].'_').val('');"> <option value="0">--- </option>'; foreach ($featureValues AS $value) { if ($current_item == $value['id_feature_value']) $custom = false; echo '<option value="'.$value['id_feature_value'].'"'.(($current_item == $value['id_feature_value']) ? ' selected="selected"' : '').'>'.substr($value['value'], 0, 40).(Tools::strlen($value['value']) > 40 ? '...' : '').' </option>'; } echo '</select>'; } 2 /* Product features management */ elseif (Tools::isSubmit('submitProductFeature')) { if ($this->tabAccess['edit'] === '1') { if (Validate::isLoadedObject($product = new Product((int)(Tools::getValue('id_product'))))) { // delete all objects $product->deleteFeatures();[/color][/size][/font] // add new objects $languages = Language::getLanguages(false); foreach ($_POST AS $key => $val) { if (preg_match('/^feature_([0-9]+)_value/i', $key, $match)) { if (is_array($val)) $product->addFeaturesToDB($match[1], $val); else { if ($default_value = $this->checkFeatures($languages, $match[1])) { $id_value = $product->addFeaturesToDB($match[1], 0, 1, (int)$language['id_lang']); foreach ($languages AS $language) { if ($cust = Tools::getValue('custom_'.$match[1].'_'.(int)$language['id_lang'])) $product->addFeaturesCustomToDB($id_value, (int)$language['id_lang'], $cust); else $product->addFeaturesCustomToDB($id_value, (int)$language['id_lang'], $default_value); } } } } } if (!sizeof($this->_errors)) Tools::redirectAdmin($currentIndex.'&id_product='.(int)$product->id.'&id_category='.(!empty($_REQUEST['id_category'])?$_REQUEST['id_category']:'1').'&add'.$this->table.'&tabs=4&conf=4&token='.($token ? $token : $this->token)); } else $this->_errors[] = Tools::displayError('Product must be created before adding features.'); } $this->_errors[] = Tools::displayError('You do not have permission to edit here.'); } 3. public function addFeaturesToDB($id_feature, $id_value, $cust = 0) { if ($cust) { $row = array('id_feature' => (int)($id_feature), 'custom' => 1); Db::getInstance()->autoExecute(_DB_PREFIX_.'feature_value', $row, 'INSERT'); $id_value = Db::getInstance()->Insert_ID(); $row = array('id_feature' => (int)($id_feature), 'id_product' => (int)($this->id), 'id_feature_value' => (int)($id_value)); Db::getInstance()->autoExecute(_DB_PREFIX_.'feature_product', $row, 'INSERT'); return ($id_value); }else{ $row = array(); foreach ($id_value AS $val){ $row[] = '('.(int)($id_feature).', '.(int)($this->id).', '.(int)($val).')'; Db::getInstance()->Execute( 'INSERT INTO `'._DB_PREFIX_.'feature_product` (`id_feature`, `id_product`, `id_feature_value`) VALUES '.implode(',', $row));} } } PrestaShop v.1.4.6.2 Link to comment Share on other sites More sharing options...
Fernand WAFO Posted July 2, 2014 Share Posted July 2, 2014 Bonjour, Est ce que ce sujet a trouvé une réponse? Cordialement, Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now