Posts Tagged ‘magento’

Magento : SQLSTATE HY000 2002 No such file or directory

Lors de la migration d’un serveur vers un autre, après avoir effectué le transfert de [...]

Lors de la migration d’un serveur vers un autre, après avoir effectué le transfert de toutes les données j’ai eu la joie de recevoir ce code d’erreur :

« SQLSTATE[HY000] [2002] No such file or directory »

Pourtant via la commande en SSH :

mysqldump -h oldhost -u oldusername -poldpassword --single-transaction olddbname | mysql -h newhost -u newusername -pnewpassword newdbname

Le transfert s’était bien effectué au niveau des tables.

Je n’ai pas compris tout de suite pourtant mon local.xml ressemblait à cela :

<default_setup>
 
                    <![CDATA[localhost]]>
                    <![CDATA[dboXXXXXXX]]>
                    <![CDATA[XXXXXXXXX]]>
                    <![CDATA[dbXXXXXXXX]]>
                    1

En fouillant un peu sur Google, j’ai trouvé un élément de  réponse : le socket n’était pas configuré en effet sur 1&1 par exemple vous pouvez voir que l’adresse de votre base de donnée est :

localhost:/tmp/mysql5.sock (la fin indiquant le socket et le type de BDD)

mais par défaut la configuration de votre php.ini est :

pdo_mysql.default_socket=/var/mysql/mysql.sock

il suffit de le changer et d’écrire :

pdo_mysql.default_socket=/var/mysql/mysql5.sock

N’oubliez pas non plus de vider le dossier var/cache et var/session et assurez vous qu’il n’y ai qu’un seul fichier local.xml.
Pour les sauvegardes ne renommer pas en local_sav.xml par exemple, vous allez « override » votre fichier initial : la bonne solution est local.xml.sav
EDIT :

Il y a une autre solution pour les gens qui comme moi n’ont pas toujours la main sur le PHP.ini général et qui s’applique pour tous :
Ajouter la ligne :

&lt;unix_socket&gt;<![CDATA[/tmp/mysql5.sock]]>

Ce qui donnera au final :

&lt;default_setup&gt;
 
                    <![CDATA[localhost]]>
                    <![CDATA[dboXXXXXXX]]>
                    <![CDATA[XXXXXXXXX]]>
                    <![CDATA[dbXXXXXXXX]]>
                    &lt;unix_socket&gt;<![CDATA[/tmp/mysql5.sock]]> 
                    1

Ainsi, tout est géré via le fichier local.xml.



Magento site live vers site en local : le parcours du combattant

Après  avoir fait passer une installation local de Magento au site en live, il se [...]

Après  avoir fait passer une installation local de Magento au site en live, il se peut que vous deviez faire l’inverse pour X raisons.

Malheureusement si dans un sens cela se passe sans trop de problèmes, ce n’est pas toujours vrai dans l’autre.



Ligne ignorée, la valeur «  » n’est pas valide pour le champ « type » sur Magento

Lorsque vous utilisez les profils d importation/exportation sur Magento (cf. image jointe) vous pouvez avoir [...]

Lorsque vous utilisez les profils d importation/exportation sur Magento (cf. image jointe) vous pouvez avoir le message d’erreur

Ligne ignorée, la valeur «  » n’est pas valide pour le champ « type » , mais si à la fin il vous indique que des résultats ont été importé cela veux dire que certaine ligne, et dans ce cas-ci que certains produits n’ont pas été trouvé au niveau du Sku.

En effet avec le mapping, Magento charge l’objet « Produit » via son Sku, et si le sku est erroné alors il ne pourra pas chargé la  suite du produit d’où le problème du champ « type ».

 



Comment mettre à jour son Sku via CSV sous Magento

Voilà, durant la synchronisation entre le serveur d’un magasin et un site Ecommerce sous Magento, [...]

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 :

"$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 :

<!--?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." &gt; ".$new_sku." - ";
        try {
            $get_item = Mage::getModel('catalog/product')-&gt;loadByAttribute('sku', $old_sku);
            if ($get_item) {
                $get_item-&gt;setSku($new_sku)-&gt;save();
                echo "ca marche";
            } else {
                echo "objet non trouvé";
            }
        } catch (Exception $e) { 
            echo "Ne retrouve pas le produit dans Magento : ".$e-&gt;getMessage()."
";
            return;
        }
    }
}
 
fclose($updates_handle);
?&gt;

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

Voilà cela peut arriver de vouloir changer cette valeur par défaut sur les article, en [...]

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 !

  La gestion de catégorie ce fait sous forme d’un arbre sous Magento. Et la [...]

 

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

Travaillant sur Magento, une erreur dans le process s’est glissée subvertissement et pour l’intitulé des [...]

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.