- Posts: 385
- Thank you received: 76
Comment modifier le variant par défaut ave une importation Excel?
- guillenphoto
-
Topic Author
- Offline
Less
More
2 years 9 months ago #357748
by guillenphoto
Bonjour,
Tous mes produits sont importés à l'aide de fichier Excel .csv dans ma boutique en ligne. Tout fonctionne parfaitement.
Voici mon besoin : pour chaque produit je souhaiterai ajouter de nouveaux variants dont l'un d'eux deviendrait le variant par défaut.
Dans mon site de test, j'ai injecté un fichier Excel pour un produit. Quand je regarde le produit, j'ai le message d'erreur 9 - No default variant selected.
D'où ma question : est-il possible de changer la valeur du variant par défaut sur un produit existant?
J'espère que vous comprendrez ma demande.
Sincèrement,
A. Guillen
Tous mes produits sont importés à l'aide de fichier Excel .csv dans ma boutique en ligne. Tout fonctionne parfaitement.
Voici mon besoin : pour chaque produit je souhaiterai ajouter de nouveaux variants dont l'un d'eux deviendrait le variant par défaut.
Dans mon site de test, j'ai injecté un fichier Excel pour un produit. Quand je regarde le produit, j'ai le message d'erreur 9 - No default variant selected.
D'où ma question : est-il possible de changer la valeur du variant par défaut sur un produit existant?
J'espère que vous comprendrez ma demande.
Sincèrement,
A. Guillen
Please Log in or Create an account to join the conversation.
2 years 9 months ago #357755
by nicolas
Replied by nicolas on topic Comment modifier le variant par défaut ave une importation Excel?
Bonjour,
oui, c'est tout à fait possible. Vu ce que vous décrivez, il semble que vous avez oublié de remplir les cellules de la ligne produit principal dans votre CSV pour les colonnes des caractéristiques. C'est cela qui permet au système d'import de définir la variante par défaut.
oui, c'est tout à fait possible. Vu ce que vous décrivez, il semble que vous avez oublié de remplir les cellules de la ligne produit principal dans votre CSV pour les colonnes des caractéristiques. C'est cela qui permet au système d'import de définir la variante par défaut.
Please Log in or Create an account to join the conversation.
- guillenphoto
-
Topic Author
- Offline
Less
More
- Posts: 385
- Thank you received: 76
2 years 9 months ago #357763
by guillenphoto
Replied by guillenphoto on topic Comment modifier le variant par défaut ave une importation Excel?
Bonjour Nicolas,
je vous remercie pour votre réponse rapide.
La bonne nouvelle est qu'il est possible de modifier le variant par défaut.
Je vous ai attaché 2 fichiers csv à titre d'exemple :
- le fichier 01.csv contient un article original avec les variants définis de base.
- le fichier 02.csv contient de nouveaux variants pour ce même article. Je voudrai conserver les variants précédents mais ajouter ces nouveaux. Les caratéristiques existent. Je les ai créés manuellement.
Vous constaterez que j'ai modifié le variant par défaut.
Ma question : ai-je bien entré les informations dans le fichier 02? J'ai l'impression que ce n'est pas la bonne méthode.
Merci par avance pour votre aide
Sincèrement,
A. Guillen
je vous remercie pour votre réponse rapide.
La bonne nouvelle est qu'il est possible de modifier le variant par défaut.
Je vous ai attaché 2 fichiers csv à titre d'exemple :
- le fichier 01.csv contient un article original avec les variants définis de base.
- le fichier 02.csv contient de nouveaux variants pour ce même article. Je voudrai conserver les variants précédents mais ajouter ces nouveaux. Les caratéristiques existent. Je les ai créés manuellement.
Vous constaterez que j'ai modifié le variant par défaut.
Ma question : ai-je bien entré les informations dans le fichier 02? J'ai l'impression que ce n'est pas la bonne méthode.
Merci par avance pour votre aide
Sincèrement,
A. Guillen
Please Log in or Create an account to join the conversation.
2 years 9 months ago #357768
by nicolas
Replied by nicolas on topic Comment modifier le variant par défaut ave une importation Excel?
Bonjour,
Donc si je comprends bien vos CSVs, les colonnes "finition" et "taille" correspondent à des caractéristiques.
Avez-vous bien renseigné les nouvelles valeurs dans les caractéristiques ?
Aussi, dans votre CSV 02, les 3 variantes que vous essayez de rajoutées ont toutes la même finition ET la même taille:
i.imgur.com/6nROqaA.png
Je pense que le souci est à ce niveau. Le système n'arrive à rajouter qu'une seule variante sur les 3 du CSV, mais il ne sélectionne pas la bonne en tant que variante par défaut et du coup il y a une divergence.
Donc si je comprends bien vos CSVs, les colonnes "finition" et "taille" correspondent à des caractéristiques.
Avez-vous bien renseigné les nouvelles valeurs dans les caractéristiques ?
Aussi, dans votre CSV 02, les 3 variantes que vous essayez de rajoutées ont toutes la même finition ET la même taille:
i.imgur.com/6nROqaA.png
Je pense que le souci est à ce niveau. Le système n'arrive à rajouter qu'une seule variante sur les 3 du CSV, mais il ne sélectionne pas la bonne en tant que variante par défaut et du coup il y a une divergence.
Please Log in or Create an account to join the conversation.
- guillenphoto
-
Topic Author
- Offline
Less
More
- Posts: 385
- Thank you received: 76
2 years 9 months ago #357772
by guillenphoto
Replied by guillenphoto on topic Comment modifier le variant par défaut ave une importation Excel?
Bonjour Nicolas,
je vous remercie pour votre réponse.
Vous avez raison. Je me suis trompé dans les caractéristiques du produit dans le fichier Excel. J'ai ajouté la même caractéristique dans la Taille. J'ai copié/collé. j'ai oublié de corriger.
Je viens de corriger sur un autre produit. Mais le problème subsiste.
Je vous ai attaché :
- des copies d'écran des caractéristiques dans Hikashop.
- une copie d'écran de l'erreur que j'ai après l'importation.
- le fichier .csv données que j'ai importées. Il s'agit du fichier 04.csv.
Je dois certainement passer à côte de quelque chose de simple mais je ne vois pas quoi.
Je suis en train d'effectuer les tests sur un site de test. Si vous voulez je peux vous envoyer les crédits comme je l'avais fait pour le problème de css que j'avais avec la pagination.
Sincèrement,
A. Guillen
je vous remercie pour votre réponse.
Vous avez raison. Je me suis trompé dans les caractéristiques du produit dans le fichier Excel. J'ai ajouté la même caractéristique dans la Taille. J'ai copié/collé. j'ai oublié de corriger.
Je viens de corriger sur un autre produit. Mais le problème subsiste.
Je vous ai attaché :
- des copies d'écran des caractéristiques dans Hikashop.
- une copie d'écran de l'erreur que j'ai après l'importation.
- le fichier .csv données que j'ai importées. Il s'agit du fichier 04.csv.
Je dois certainement passer à côte de quelque chose de simple mais je ne vois pas quoi.
Je suis en train d'effectuer les tests sur un site de test. Si vous voulez je peux vous envoyer les crédits comme je l'avais fait pour le problème de css que j'avais avec la pagination.
Sincèrement,
A. Guillen
Please Log in or Create an account to join the conversation.
2 years 9 months ago #357786
by nicolas
Replied by nicolas on topic Comment modifier le variant par défaut ave une importation Excel?
Bonjour,
Cela m'a l'air bien maintenant.
Je pense que c'est un problème dans le code du système d'import avec votre cas d'utilisation.
Le système est prévu à la base pour importer des nouveaux produits avec toutes les variantes définies dans le CSV est rien dans la base de données. Dans ce cas, l'import met en place la variante par défaut.
Nous avons ensuite rajouté la mise à jour, qui va d'abord supprimer toutes les variantes présentes pour le produit avant d'importer les variantes dans le CSV. Et dans ce cas aussi, l'import met en place la variante par défaut.
Enfin, nous avons rajouté l'option "Keep other variants" qui permet de faire l'ajout / mise à jour de variantes sans supprimer les variantes déjà existantes. Et je pense que dans ce cas là, le fait de ne pas supprimer le lien entre le produit principal et les valeurs de caractéristiques fait qu'il se retrouve avec les anciens liens et les nouveaux et du coup le système n'arrive plus à trouver la variante par défaut et suppose qu'il n'y en a pas.
Dans le fichier administrator/components/com_hikashop/helpers/import.php, essayez de changer le code:
en:
Cela devrait aider. Si vous avez toujours le souci, après avec le fichier 04.csv alors il va falloir étudier l'import directement sur le site et faire du débug pour mieux comprendre ce qui ne va pas.
Cela m'a l'air bien maintenant.
Je pense que c'est un problème dans le code du système d'import avec votre cas d'utilisation.
Le système est prévu à la base pour importer des nouveaux produits avec toutes les variantes définies dans le CSV est rien dans la base de données. Dans ce cas, l'import met en place la variante par défaut.
Nous avons ensuite rajouté la mise à jour, qui va d'abord supprimer toutes les variantes présentes pour le produit avant d'importer les variantes dans le CSV. Et dans ce cas aussi, l'import met en place la variante par défaut.
Enfin, nous avons rajouté l'option "Keep other variants" qui permet de faire l'ajout / mise à jour de variantes sans supprimer les variantes déjà existantes. Et je pense que dans ce cas là, le fait de ne pas supprimer le lien entre le produit principal et les valeurs de caractéristiques fait qu'il se retrouve avec les anciens liens et les nouveaux et du coup le système n'arrive plus à trouver la variante par défaut et suppose qu'il n'y en a pas.
Dans le fichier administrator/components/com_hikashop/helpers/import.php, essayez de changer le code:
Code:
function _insertVariants(&$products){
$values = array();
$totalValid = 0;
$insert = 'INSERT IGNORE INTO '.hikashop_table('variant').' (`variant_characteristic_id`,`variant_product_id`) VALUES (';
$ids = array();
foreach($products as $product) {
// Skip not valid products
if(empty($product->product_id))
continue;
if(empty($product->variant_links) && !empty($this->template->variant_links) && empty($product->hikashop_update)) {
$product->variant_links = $this->template->variant_links;
}
if(!empty($product->variant_links)){
$ids[] = (int)$product->product_id;
foreach($product->variant_links as $link){
$value = array((int)$link,(int)$product->product_id);
$values[] = implode(',',$value);
$totalValid++;
if( $totalValid%$this->perBatch == 0){
if(!empty($ids)){
if(!$this->keep_other_variants) {
$this->db->setQuery('DELETE FROM '.hikashop_table('variant').' WHERE variant_product_id IN ('.implode(',',$ids).')');
$this->db->execute();
}
$ids=array();
}
$this->db->setQuery($insert.implode('),(',$values).')');
$this->db->execute();
$totalValid=0;
$values=array();
}
}
}
}
if(!empty($values)){
if(!empty($ids) && !$this->keep_other_variants){
$this->db->setQuery('DELETE FROM '.hikashop_table('variant').' WHERE variant_product_id IN ('.implode(',',$ids).')');
$this->db->execute();
}
$this->db->setQuery($insert.implode('),(',$values).')');
$this->db->execute();
}
}
Code:
function _insertVariants(&$products){
$values = array();
$totalValid = 0;
$insert = 'INSERT IGNORE INTO '.hikashop_table('variant').' (`variant_characteristic_id`,`variant_product_id`) VALUES (';
$ids = array();
foreach($products as $product) {
// Skip not valid products
if(empty($product->product_id))
continue;
if(empty($product->variant_links) && !empty($this->template->variant_links) && empty($product->hikashop_update)) {
$product->variant_links = $this->template->variant_links;
}
if(!empty($product->variant_links)){
if(!$this->keep_other_variants || $product->product_type == 'main') {
$ids[] = (int)$product->product_id;
}
foreach($product->variant_links as $link){
$value = array((int)$link,(int)$product->product_id);
$values[] = implode(',',$value);
$totalValid++;
if( $totalValid%$this->perBatch == 0){
if(!empty($ids)){
$this->db->setQuery('DELETE FROM '.hikashop_table('variant').' WHERE variant_product_id IN ('.implode(',',$ids).')');
$this->db->execute();
$ids=array();
}
$this->db->setQuery($insert.implode('),(',$values).')');
$this->db->execute();
$totalValid=0;
$values=array();
}
}
}
}
if(!empty($values)){
if(!empty($ids)){
$this->db->setQuery('DELETE FROM '.hikashop_table('variant').' WHERE variant_product_id IN ('.implode(',',$ids).')');
$this->db->execute();
}
$this->db->setQuery($insert.implode('),(',$values).')');
$this->db->execute();
}
}
Please Log in or Create an account to join the conversation.
- guillenphoto
-
Topic Author
- Offline
Less
More
- Posts: 385
- Thank you received: 76
2 years 9 months ago #357787
by guillenphoto
Replied by guillenphoto on topic Comment modifier le variant par défaut ave une importation Excel?
Bonjour Nicolas,
merci pour votre correction. Elle fonctionne parfaitement. Le variant par défaut est correctement géré et bien affiché.
Comment dois-je faire? Attendre une correction dans la prochaine release ou intégrer la correction sur mon site de production?
Merci mille fois pour votre aide. C'est vraiment génial.
Sincèrement,
A. Guillen
merci pour votre correction. Elle fonctionne parfaitement. Le variant par défaut est correctement géré et bien affiché.
Comment dois-je faire? Attendre une correction dans la prochaine release ou intégrer la correction sur mon site de production?
Merci mille fois pour votre aide. C'est vraiment génial.
Sincèrement,
A. Guillen
The following user(s) said Thank You: nicolas
Please Log in or Create an account to join the conversation.
2 years 9 months ago #357789
by nicolas
Replied by nicolas on topic Comment modifier le variant par défaut ave une importation Excel?
Bonsoir,
Intégrez directement la correction sur votre site. Comme cela, vous pourrez utiliser l'import pour faire ce que vous voulez sans attendre.
Nous allons également rajouter le patch pour la prochaine version qui sortira en Janvier donc même après la mise à jour, vous n'aurez rien à faire.
Intégrez directement la correction sur votre site. Comme cela, vous pourrez utiliser l'import pour faire ce que vous voulez sans attendre.
Nous allons également rajouter le patch pour la prochaine version qui sortira en Janvier donc même après la mise à jour, vous n'aurez rien à faire.
Please Log in or Create an account to join the conversation.
- guillenphoto
-
Topic Author
- Offline
Less
More
- Posts: 385
- Thank you received: 76
2 years 9 months ago #357802
by guillenphoto
Replied by guillenphoto on topic Comment modifier le variant par défaut ave une importation Excel?
Je vous remercie Nicolas.
Je viens d'intégrer le fichier modifié dans le site de production.
Je souhaite un joyeux Noël et de belles fêtes de fin d'année.
A. Guillen
Je viens d'intégrer le fichier modifié dans le site de production.
Je souhaite un joyeux Noël et de belles fêtes de fin d'année.
A. Guillen
The following user(s) said Thank You: nicolas
Please Log in or Create an account to join the conversation.
2 years 9 months ago #357816
by nicolas
Replied by nicolas on topic Comment modifier le variant par défaut ave une importation Excel?
Joyeux Noël également !
Please Log in or Create an account to join the conversation.
Time to create page: 0.246 seconds