Intégration leguide.com et webmarchand.com (1 lecteur(s)) (1) Invité(s)
 | | |
|
SUJET: Intégration leguide.com et webmarchand.com
|
|
|
Re:Intégration leguide.com et webmarchand.com Il y a 3 Années, 9 Mois
|
Karma: 1
|
Bonjour,
j'utilise le script pour exporter mon catalogue en csv, ça fonctionne très bien, seul hic, la ligne :
| Code : |
Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'catalog/product'.$product->getImage()
|
ne renvoie pas le chemin de l'image
> $product->getImage() n'est pas renseigné.
J'ai donc essayé en utilisant :
| Code : |
Mage::helper('catalog/image')->init($product, 'image');
|
et aussi :
| Code : |
$product->getImageUrl();
|
Mon problème est qu'en retour j'obtiens le chemin de l'image mais en cache, du type :
www.xxx.com/media/catalog/product/cache/...laceholder/image.jpg
alors que je voudrais récupérer le chemin physique de l'image.
Quelqu'un aurait une solution ?
|
|
|
|
|
|
|
{RESOLU}Re:Intégration leguide.com et webmarchand.com Il y a 3 Années, 9 Mois
|
Karma: 2
|
|
Finalement, j'avais fait une erreur de frappe ;)
$product_data['URL_produit'] = str_replace('leguide.php/', '', $product->getProductUrl());
marche trés bien.
bonne soirée.
Merci bcp
|
|
|
|
Magento C'est de La dynamite !
|
|
|
|
Re:Intégration leguide.com et webmarchand.com Il y a 3 Années, 8 Mois
|
Karma: 0
|
Bonjour,
testant ce script, je vois dans le code cela:
$categorie= 'Ball-trap et Chasse'; // Catégorie uniquement utilisé par le guide (non visible sur le site)
Par quoi doit on remplacer ce texte, je ne vens rien pour le ball trap 
Merci.
|
|
|
|
|
|
|
Re:Intégration leguide.com et webmarchand.com Il y a 3 Années, 8 Mois
|
Karma: 0
|
|
bonjour
pour remplacer ball trap tu modifie la valeur de la variable en haut du script
et tu met la ctégorie de ce que tu vend
voila
|
|
|
|
|
|
|
Re:Intégration leguide.com et webmarchand.com Il y a 3 Années, 8 Mois
|
Karma: 0
|
|
Bonjour, dans le même ordre d'idée j'aimerai que $categorie='Ball-trap et Chasse';
devienne la catégorie parent du produit (celle de mon site), j'ai essayé différent appel, mais sans succès.
Merci
|
|
|
|
|
|
|
Re:Intégration leguide.com et webmarchand.com Il y a 3 Années, 8 Mois
|
Karma: 2
|
|
Bonjour,
Le problème c'est qu'un produit peut avoir plusieurs catégories et dans ce cas laquelle choisir ????
La variable $categorie correspond aux catégories du site le guide.
En effet lorsque ton fichier est chargé par le site leguide.com, ils regardent la catégorie que tu as marqués dans ton fichier txt et l'affect en fonction de leur bon vouloir dans une catégorie de leur site.
Le mieux est donc de faire un tout sur leur site et d'identifier leur nom de catégorie ....
Pour séparer tes produits, tu peux ensuite envisager de créer plusieurs fichier catalogue en texte (Un par catégorie) et tous les fournir au site leguide.com.
A gérer lors de l'appel des produits. C'est une autre piste à creuser.
Bon courage.
Seb.
|
|
|
|
|
|
|
Re:Intégration leguide.com et webmarchand.com Il y a 3 Années, 8 Mois
|
Karma: 0
|
|
Merci pour ton conseil.
Je vais réfléchir à comment faire pour faire le meilleur tri possible.
Car j'ai beaucoup de catégories
|
|
|
|
Dernière édition: 09/10/09 à 10:21 Par herdegen.
|
|
|
Re:Intégration leguide.com et webmarchand.com Il y a 3 Années, 8 Mois
|
Karma: 1
|
J'ai rencontré pas mal de problèmes d'exports vers les comparateurs de prix, chacun son langage de catégorie, de format de fichier, etc...
Sans prétention aucune, voici mon petit script, si ça peut aider quelqu'un...
(il n'est pas cronné, pas besoin, juste lancé automatiquement à chaque mise à jour des gammes de produits/prix)
<?php
// Definition du fichier XML qui sera utilisé par le LeGuide.com // Attention : utilisation de variables en dur sur un contexte de site FRANCAIS sur marché FRANCAIS (deee, tva...)
$tva = 1.196;
$nbPd = 0;
$currentDate = mktime(0,0,0,date("m"),date("d"),date("Y"));
$currentDate = date("Y-m-d h:m:s", $currentDate);
$filename = "RepertoireDesComparateurs/LeFichierPourLeGuide";
$baliseTracking = "?utm_source=leguide&utm_medium=cpc&utm_campaign=VotreCampagne"; // Tracking pour Google Analytics
require_once '../app/Mage.php';
Mage::app();
$xml = new DomDocument('1.0', 'iso-8859-1');
$collection = $xml->createElement('produits', '');
$xml->appendChild($collection);
// Selection des produits vendus
$products = Mage::getModel('catalog/product')->getCollection();
$products->addAttributeToFilter('status', 1); // Produits activés
$products->addAttributeToFilter('visibility', 4); // Visibilité = Catalogue et recherche
$products->addAttributeToSelect('*');
$prodIds=$products->getAllIds();
foreach($prodIds as $productId)
{
$product = Mage::getModel('catalog/product');
$product->load($productId);
// Cree le node pour le produit
$xml_product = $xml->createElement('produit', '');
$collection->appendChild($xml_product);
// Catégorie : dans les attribut des produits on doit identifier/mapper exactement la correspondance NotreSite vs LeGuide
$xml_categorie = $xml->createElement('categorie', '');
$categorie_text = $xml->createCDATASection($product->getResource()->getAttribute('maj_leguide_categorie')->getFrontend()->getValue($product));
$xml_categorie->appendChild($categorie_text);
$xml_product->appendChild($xml_categorie);
// Identifiant unique
$xml_sku = $xml->createElement('identifiant_unique', '');
$sku_text = $xml->createTextNode($product->getSku());
$xml_sku->appendChild($sku_text);
$xml_product->appendChild($xml_sku);
// Titre
$xml_titre = $xml->createElement('titre', '');
$titre_text = $xml->createCDATASection($product->getName());
$xml_titre->appendChild($titre_text);
$xml_product->appendChild($xml_titre);
// Description
$xml_description = $xml->createElement('description', '');
$description_text = $xml->createCDATASection($product->getDescription());
$xml_description->appendChild($description_text);
$xml_product->appendChild($xml_description);
// Prix initial
$xml_prix = $xml->createElement('prix', '');
$prix_text = $xml->createTextNode(round($product->getPrice() * $tva, 2));
$xml_prix->appendChild($prix_text);
$xml_product->appendChild($xml_prix);
// URL fiche produit avec Ajout des éléments du tracking Google Analytics
$xml_url = $xml->createElement('URL_produit', '');
$url_text = $xml->createCDATASection($product->getProductUrl().$baliseTracking);
$xml_url->appendChild($url_text);
$xml_product->appendChild($xml_url);
// URL image
$xml_image = $xml->createElement('URL_image', '');
$image_text = $xml->createCDATASection(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'catalog/product'.$product->getImage());
$xml_image->appendChild($image_text);
$xml_product->appendChild($xml_image);
// Frais de livraison (facile, dans notre boutique c'est gratuit !)
$xml_livraison = $xml->createElement('frais_de_port', '');
$livraison_text = $xml->createTextNode("0");
$xml_livraison->appendChild($livraison_text);
$xml_product->appendChild($xml_livraison);
// Stock (Facile, tout est en stock chez nous ou on retire le produit de la vente !)
$xml_stock = $xml->createElement('disponibilite', '');
$stock_text = $xml->createTextNode("0");
$xml_stock->appendChild($stock_text);
$xml_product->appendChild($xml_stock);
// Délais de livraison
$xml_delais = $xml->createElement('delai_de_livraison', '');
$delais_text = $xml->createCDATASection($product->getResource()->getAttribute('maj_delai_livraison')->getFrontend()->getValue($product));
$xml_delais->appendChild($delais_text);
$xml_product->appendChild($xml_delais);
// Garantie
$xml_garantie = $xml->createElement('garantie', '');
$garantie_text = $xml->createCDATASection($product->getResource()->getAttribute('maj_garantie')->getFrontend()->getValue($product));
$xml_garantie->appendChild($garantie_text);
$xml_product->appendChild($xml_garantie);
// Reference fournisseur
$xml_skufournisseur = $xml->createElement('reference_modele', '');
$skufournisseur_text = $xml->createCDATASection($product->getResource()->getAttribute('maj_reference_fournisseur')->getFrontend()->getValue($product));
$xml_skufournisseur->appendChild($skufournisseur_text);
$xml_product->appendChild($xml_skufournisseur);
// DEEE - Un seul magasin actif, pays France uniquement
$deee = $product->getDeee();
$xml_deee = $xml->createElement('D3E', '');
$deee_text = $xml->createTextNode($deee[0]['value']);
$xml_deee->appendChild($deee_text);
$xml_product->appendChild($xml_deee);
// Marque
$xml_skufournisseur = $xml->createElement('marque', '');
$skufournisseur_text = $xml->createCDATASection($product->getResource()->getAttribute('manufacturer')->getFrontend()->getValue($product));
$xml_skufournisseur->appendChild($skufournisseur_text);
$xml_product->appendChild($xml_skufournisseur);
// EAN
$xml_skufournisseur = $xml->createElement('EAN', '');
$skufournisseur_text = $xml->createCDATASection($product->getResource()->getAttribute('maj_reference_ean')->getFrontend()->getValue($product));
$xml_skufournisseur->appendChild($skufournisseur_text);
$xml_product->appendChild($xml_skufournisseur);
// Prix Promo avec vérifiaction de validité (période dates)
$specialToDate = $product->getResource()->getAttribute('special_to_date')->getFrontend()->getValue($product);
$specialFromDate = $product->getResource()->getAttribute('special_from_date')->getFrontend()->getValue($product);
if ($currentDate >= $specialFromDate && $currentDate < $specialToDate && $product->getSpecialPrice() != 0) $prixb=round($product->getSpecialPrice() * $tva, 2);
else $prixb="";
$xml_prixb = $xml->createElement('prix_barre', '');
$prixb_text = $xml->createTextNode($prixb);
$xml_prixb->appendChild($prixb_text);
$xml_product->appendChild($xml_prixb);
// Devise
$xml_typeproduit = $xml->createElement('devise', '');
$typeproduit_text = $xml->createTextNode("978");
$xml_typeproduit->appendChild($typeproduit_text);
$xml_product->appendChild($xml_typeproduit);
// Neuf ou Occasion
$xml_typeproduit = $xml->createElement('occasion', '');
$typeproduit_text = $xml->createTextNode("0");
$xml_typeproduit->appendChild($typeproduit_text);
$xml_product->appendChild($xml_typeproduit);
// Type promotion
if ($prixb == "") $typePromo = "0"; else $typePromo = "9";
$xml_typepromo = $xml->createElement('type_promotion', '');
$typepromo_text = $xml->createTextNode($typePromo);
$xml_typepromo->appendChild($typepromo_text);
$xml_product->appendChild($xml_typepromo);
// URL Mobiles
$xml_urlgsm = $xml->createElement('URL_mobile', '');
$urlgsm_text = $xml->createTextNode("");
$xml_urlgsm->appendChild($urlgsm_text);
$xml_product->appendChild($xml_urlgsm);
$nbPd++;
}
$xml->save($filename.'.xml');
echo "Génération <b>LeGuide.com XML</b> effectuée, bonne journée ! (".$nbPd." produits traités)";
?>
Bon scripting ! 
|
|
|
|
|
|
 | | |
|