Articles tagguer " magento"

Comment mettre à jour son Sku via CSV sous Magento

24 fév, 2012   //   Blog, Coin techno, Developpement  //  Commentaires fermés

Voilà, durant la synchronisation entre le serveur d’un magasin et un site Ecommerce sous Magento, je me suis retrouvé à mettre à jour tout les sku de ma boutique car le système de gestion du magasin venait de changer.

En gros mon sku passait d’un code du type $034567 vers un code EAN 13 standard 4504292077.

La première étape étant de générer le CSV, alors soit vous avez de la chance et le nouveau système de gestion à conserver un champ pour les anciennes références (je vous le conseille vivement), ou bien cela n’est pas prévu…

Et la on se paluche à la mimine et cela prend du temps selon le nombre de référenceS…. (spéciale dédicace à C. et L. )

Nous allons passer directement à l’export CSV :

Il vous faut un CSV avec 2 colonnes :

Colonne 1 => ancien SKU

Colonne 2 => nouveau SKU

 

Exemple :

?Download sku2sku.csv
1
2
3
4
"$564168";"4504292077"
"$486421";"4504276435"
"$945687";"4504276121"
"$247893";"4504411324"

Donc nous voulons remplacer le code « Dollar »  par le code EAN 13.

Il suffit de placer votre csv sur votre serveur via FTP.

Exemple : /var/import/sku2sku.csv
Attention dans notre csv les champs sont séparés par des ; et les champs délimités par des  » « .

Puis il faut placer votre fichier php, via FTP, sur votre serveur.
Exemple : /script/inversion.php

Voici le code du fichier inversion.php ci-dessous :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
include_once '../app/Mage.php';
Mage::app();
 
$updates_file="../var/import/sku2sku.csv";
 
$sku_entry=array();
 
$updates_handle=fopen($updates_file, 'r');
if($updates_handle) { 
    while($sku_entry=fgetcsv($updates_handle,50,';','"')){ 
        $old_sku=$sku_entry[0];
        $new_sku=$sku_entry[1];
        echo "<br>MAJ ".$old_sku." > ".$new_sku." - ";
        try {
            $get_item = Mage::getModel('catalog/product')->loadByAttribute('sku', $old_sku);
            if ($get_item) {
                $get_item->setSku($new_sku)->save();
                echo "ca marche";
            } else {
                echo "objet non trouvé";
            }
        } catch (Exception $e) { 
            echo "Ne retrouve pas le produit dans Magento : ".$e->getMessage()."<br>";
            return;
        }
    }
}
 
fclose($updates_handle);
?>

Il ne vous reste plus qu’à lancer votre script http://www.monsite.com/script/inversion.php.

Attention avant toute chose toujours effectuer sur un serveur de test la manipulation et de sauvegarder avant d’effectuer la manipulation sur le serveur en live.
Pour moi le seul soucis c’est que le script s’arrêtait du à mon Hébergement pas trop performant, je le relançait de temps en temps et c’est passé.

Changer la quantité par défaut de la page produit

2 déc, 2011   //   Coin techno, Developpement  //  Commentaires fermés

Voilà cela peut arriver de vouloir changer cette valeur par défaut sur les article, en effet il se peut qu’il soit régler à 0.

Pour cela il faut aller dans vos fichier s de template : app/design/frontend/default/YOUR_THEME/template/catalog/product/view/addtocart.phtm

Et la  il faut modifier la ligne :

<input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>" title="<?php echo $this->__('Qty') ?>" />

par :

<input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getMinimalQty($_product)== null?1:$this->getMinimalQty($_product) ?> " title="<?php echo $this->__('Qty') ?>" />

et via ce tuto vous pouvez y ajouter un + et un – : http://jigowatt.co.uk/blog/magento-quantity-increments-jquery-edition/ en JQuery.

Voici un exemple :

Ma catégorie à disparu Help Magento !

15 nov, 2011   //   Blog, Coin techno, Developpement  //  Commentaires fermés

 

La gestion de catégorie ce fait sous forme d’un arbre sous Magento. Et la mise à jour se fait directement via Ajax.

Aujourd’hui, j’ai eut la mauvaise surprise de voir une de mes catégories disparaitre alors que je la changais simplement de place en drag and drop.

Bien sur ne voulant pas tout perdre et tout refaire, je me suis penché sur le problème et voilà ma solution :

 

 

  • 1 er étape : repérer le numéro de la catégorie portée disparu dans ‘catalog_category_entity_varchar’  ‘entity_id‘, si vous avez formaté vos url vous trouverez la correspondance entre la ‘value’  et ‘category_id’
  • 2ème étape :  Lorsque vous avez votre NUMERO_CATEGORIE via l’étape 1 tapez cette requête en SQL : SELECT * FROM `catalog_category_entity` WHERE path LIKE ‘%173%’ (changer le 173 avec votre numéro de catégorie)
  • 3ème étape : dans le champ Path vous aurez une série de chiffre qui correspond au différentes catégories parentes du type ’1/53/91/173′ cela signifie que le chemin de votre catégorie est ‘Categorie1/Categorie53/Categorie91/Categorie173′ malheureusement j’avais un chemin de ce type ’1/53/91/173/173′ !!! En effet il m’avait doublé ma catégorie manquante. Il ne vous reste plus qu’à restaurer cela en enlevant le doublon et rétablir le chemin en ’1/53/91/173′ et voilà !

Remplacer un intitulé ou label dans Magento directement via MySQL

7 nov, 2011   //   Blog, Coin techno, Developpement  //  Commentaires fermés

Logo MySQLTravaillant sur Magento, une erreur dans le process s’est glissée subvertissement et pour l’intitulé des options de la fiche produit.

 

Il a donc fallu modifier directement dans MySQL et voici la commande :

 

UPDATE nom_de_la_table SET nom_ colonne = REPLACE(nom_colonne, »Color », »Couleur »)

Passer de color à couleur :

UPDATE catalog_product_super_attribute_label SET value = REPLACE(value, »Color », »Couleur »)

Passer de Taille tshirt polos femme à taille:

UPDATE catalog_product_super_attribute_label SET value = REPLACE(value, »Taille tshirt polos femme », »Taille »)

Et grâce à cela vos label d’options sous Magento sortent correctement sans éditer tout vos produits 1 par 1.