osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

7 Pages V   1 2 3 > »   
Reply to this topicStart new topic
> Google Merchant ou Google Products ou encore Google Shopping, Quelqu'un connait?
yyoossssii
posté 22 Oct 2010, 14:01
Message #1


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 31
Inscrit : 1-November 06
Lieu : Israel
Membre no 12992



Bonjour,

Je suis tombé sur cet article:
http://actu.abondance.com/2010/10/google-s...-en-france.html
ou encore
http://googlexxl.blogspot.com/2010/10/goog...-en-france.html

Est-ce que quelqu'un connait?
Y a t'il une contribution pour le fichier XML?

http://www.google.fr/products
http://www.google.fr/merchants/merchantdashboard

Pour céer le fichier les instructions sont la:
http://www.google.com/support/merchants/bi...p;answer=188478

Yossi

Ce message a été modifié par yyoossssii - 22 Oct 2010, 15:11.
Go to the top of the page
 
milie000
posté 22 Oct 2010, 14:11
Message #2


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 30
Inscrit : 17-September 07
Membre no 19070



Bonjour

je suis egalement a la recherche d une contribution pour le xml. Si jamais vous trouvez je suis preneuse.

Merci
Go to the top of the page
 
dvf
posté 23 Oct 2010, 14:23
Message #3


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 346
Inscrit : 21-December 05
Membre no 8273



cool

ben il y a le contrib export universel

cela sent le google checkout aussi

c'est bon sa smile.gif
Go to the top of the page
 
yyoossssii
posté 23 Oct 2010, 21:23
Message #4


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 31
Inscrit : 1-November 06
Lieu : Israel
Membre no 12992



Bonsoir,

Non, il n'y rien de semblable dans export universel.

Merci quand meme.

J'ai essayé de faire quelque chose tous seul, mais google n'a pas trop aimé...

Voici le code:
Code
<?php


require('includes/application_top.php');

Header( 'Content-Type: text/xml' );

define ('DISPLAY_PRICE_WITH_TAX', true);

echo '<?xml version="1.0" encoding="ISO-8859-1"?>';
echo '<catalogue lang="FR" date="'.  strftime(DATE_FORMAT_SHORT). '">';

// On v?rifie la langue utilis?e dans le catalogue
$language_code = (isset($HTTP_GET_VARS['language']) && tep_not_null($HTTP_GET_VARS['language'])) ? $HTTP_GET_VARS['language'] : DEFAULT_LANGUAGE;

// Requ?te pour identifier les cat?gories existantes dans le catalogue
$included_categories_query = tep_db_query("SELECT c.categories_id, c.parent_id, cd.categories_name FROM " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd WHERE c.categories_id = cd.categories_id AND cd.language_id = FLOOR($languages_id)");

$inc_cat = array();

// Identification du nom de la cat?gorie, et l'id de la cat?gorie parent
while ($included_categories = tep_db_fetch_array($included_categories_query)) {
$inc_cat[] = array (
    'id' => $included_categories['categories_id'],
    'parent' => $included_categories['parent_id'],
    'name' => $included_categories['categories_name']);
}

$cat_info = array();
for ($i=0; $i<sizeof($inc_cat); $i++)
   $cat_info[$inc_cat[$i]['id']] = array (
   'parent'=> $inc_cat[$i]['parent'],
   'name'  => $inc_cat[$i]['name'],
   'path'  => $inc_cat[$i]['id'],
   'link'  => '' );

for ($i=0; $i<sizeof($inc_cat); $i++) {
$cat_id = $inc_cat[$i]['id'];
while ($cat_info[$cat_id]['parent'] != 0){
   $cat_info[$inc_cat[$i]['id']]['path'] = $cat_info[$cat_id]['parent'] . '_' . $cat_info[$inc_cat[$i]['id']]['path'];
   $cat_id = $cat_info[$cat_id]['parent'];
   }
$link_array = split('_', $cat_info[$inc_cat[$i]['id']] ['path']);
for ($j=0; $j<sizeof($link_array); $j++) {
   $cat_info[$inc_cat[$i]['id']]['link'] .= '&nbsp;<a href="' . tep_href_link(FILENAME_DEFAULT, 'cPath=' . $cat_info[$link_array[$j]]['path']) . '"><nobr>' . $cat_info[$link_array[$j]]['name'] . '</nobr></a>&nbsp;&raquo;&nbsp;';
   }
}

// Requ?te identifiant les produits disponibles dans le catalogue
$products_query = tep_db_query("SELECT p.*, pd.products_name, pd.products_description, pc.categories_id FROM " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " pc WHERE p.products_id = pd.products_id AND p.products_id = pc.products_id AND p.products_status = 1 AND pd.language_id = FLOOR($languages_id) ORDER BY pc.categories_id, pd.products_name");

$product_num = 0;

while($products = tep_db_fetch_array($products_query)) {

if (intval($products['manufacturers_id']) > 0) {
  $manufacturers_query = tep_db_query("SELECT manufacturers_name FROM " . TABLE_MANUFACTURERS . " WHERE manufacturers_id = " . $products['manufacturers_id']);
  $manufacturers_result = tep_db_fetch_array($manufacturers_query);
  $products['manufacturers_name'] = $manufacturers_result['manufacturers_name'];
}

$special_query = tep_db_query("SELECT specials_new_products_price  FROM " . TABLE_SPECIALS . " WHERE products_id = " . $products['products_id']);
if ($special_result = tep_db_fetch_array($special_query))
  $products['products_price'] = $special_result['specials_new_products_price'];

$product_num++;

echo '<etat>neuf</etat>';
echo '<descriptif><![CDATA['. substr(strip_tags(str_replace(array('<BR>','<br>'), "</P>\n<P>",html_entity_decode($products['products_description']))),0,245) .'...]]></descriptif>';
echo '<g:identifiant><![CDATA['. $products['products_id'] .']]></g:identifiant>';

echo '<lien><'. HTTP_SERVER . DIR_WS_HTTP_CATALOG . FILENAME_PRODUCT_INFO . '?products_id=' . $products['products_id'] .']]></lien>';
  echo '<g:prix><'.  $products['products_price'] .'><g:prix>';
echo '<titre><![CDATA['. $products['products_name'] .']]></titre>';


}

echo '</catalogue>';

require(DIR_WS_INCLUDES . 'application_bottom.php');
?>


Ce message a été modifié par yyoossssii - 23 Oct 2010, 21:24.
Go to the top of the page
 
dvf
posté 24 Oct 2010, 12:27
Message #5


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 346
Inscrit : 21-December 05
Membre no 8273



MAIS SI GOOGLE , tu le fais en 3 sec avec universel export

Mon script étant personaliser , je peux pas poster car c est plus compatible avec la version en ligne

Go to the top of the page
 
yyoossssii
posté 24 Oct 2010, 22:17
Message #6


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 31
Inscrit : 1-November 06
Lieu : Israel
Membre no 12992



Merci dvf.

J'ai travaillé sur universel export tu as raison, c'est plus simple, voici le code:

Code
<?php
/*
$Id: export.php, version 1.2 Vendredi 5 Octobre 2007 Vaisonet Exp $

Contribution Export universel

http://www.vaisonet.com
Copyright © 2007 Vaisonet

Released under the GNU General Public License
*/

  $comp = array("Google Marchant");
  
  
  $header = 'Content-Type: text/html; charset=utf-8';
  $header2 = 'Content-Disposition: "inline; google-merchant.txt"';
  



$head = "titre\t&#233tat\tdescriptif\tid\tlien\tprix\n";

  
$output .= netoyage_html($products['products_name'], 80) . "\t";
$output .= "neuf\t";
$output .= netoyage_html($products['products_description'], 160) ."\t";
$output .= $product_num ."\t";
$output .= tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products['products_id']) . $libre ."\t";
$output .= $regular_price ."\n";



    
  $foot = '';

?>



Yossi
Go to the top of the page
 
Acuponctus
posté 26 Oct 2010, 18:49
Message #7


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 68
Inscrit : 18-July 05
Lieu : Paris
Membre no 6539



Bonsoir et merci pour ce code.

pour ma part j'ai donc entrepris l'installation de cette contrib pour utiliser google merchant.
cependant je ne trouve pas l'endroit ou les fichiers sont créés ?

dans le répertoire export pour les fichiers txt ?
si c'est oui ca ne met rien dedans ?
a la racine ?

non plus.

faut il créer un fichier vide dans un premier temps ?

Merci


--------------------
osCommerce MS2
CRE Loaded6 v4 Fr Sp1.2 RC2
Go to the top of the page
 
yyoossssii
posté 26 Oct 2010, 21:03
Message #8


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 31
Inscrit : 1-November 06
Lieu : Israel
Membre no 12992



Bonsoir Acuponctus.

Il faut dabord installer la contribution Export universel.

Ensuite il faut créer un fichier google.php avec le code ci-dessous et le mettre dans catalog/includes/modules/ExU.

Puis ouvre Export Universel dans ton admin, choisi le format "Google Marchant" dans la liste et le tour est joué!

Yossi
Go to the top of the page
 
Jesam
posté 27 Oct 2010, 08:46
Message #9


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 56
Inscrit : 24-April 06
Lieu : Paris
Membre no 10102



yyoossssii avec le code que tu fournis je n'arrive pas à insérer des produits.
J'ai créé à la main un fichier texte et là je peux bien insérer mes produits dans Google Merchant.
Par contre, compte tenue de mes descriptions et des informations complémentaires que je souhaite passer, j'aimerais créer un fichier XML, et là je bute

J'obtiens bien un tel fichier mais compte tenu de mes connaissances je n'arrive pas bien à le construire.

Code
<?php
/*
$Id: export.php, version 1.3 Mardi 18 Mars 2008 Vaisonet Exp $

Contribution Export universel

http://www.vaisonet.com
Copyright © 2008 Vaisonet

Released under the GNU General Public License
*/

  $comp = array("Google Merchant");
  
// les promotions sont elles 1->solde,2->autre promotions
if ($reduc) $sale = 2;
  
  $header = 'Content-Type: text/xml';


  
  $head = '<?xml version="1.0" encoding="ISO-8859-1"?>' .chr(10) . '<catalogue lang="'.$lang_export.'" date="'.  date('Y-m-d H:i'). '" GMT="+1" version="2.0">'.chr(10);
  
  $output .= '<item>';
  $output .= '<product place="'.$product_num.'">'."\n";
  $output .= '<gid>'. $products['products_id'] .'</gid>'.chr(10);
  $output .= '<title>'. $products['products_name'] .'</title>'.chr(10);
  $output .= '<link>'.  tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products['products_id']) . $libre .'</link>'.chr(10);
  $output .= '<price>'. $regular_price .' EUR'.'</price>'.chr(10);
  $output .= '<description>'. substr(strip_tags(str_replace(array('<BR>','<br>'), "</P>\n<P>",html_entity_decode($products['products_description']))),0,245) .'></description>'.chr(10);
  $output .= '<condition>'.' neuf'.'</condition>'.chr(10);
  $output .= '<brand>'.$products['manufacturers_name'].'</brand>'.chr(10);
  $output .= '<image_link>'. HTTP_SERVER . DIR_WS_HTTP_CATALOG . DIR_WS_IMAGES . $products['products_image'] .'</image_link>'.chr(10);
  
  $output .= '<shipping>'."\n";
  $output .= '<country>'.'FR'.'</country>'.chr(10);
  $output .= '<service>'.'Lettre Max'.'</service>'.chr(10);
  $output .= '<price>'.'4,00'.'</price>'.chr(10);
  $output .= '</shipping>';
  
  
  $output .= '</product>';
  $output .= '</item>';
  
  $foot = '</catalogue>';
?>


Problèmes rencontrés
1/ Je veux mettre dans les 2 premières lignes
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0
xmlns:g=“http://base.google.com/ns/1.0”>

2/ si je remplace <condition> par <g:condition> le format n'est plus reconnu (je ne peux créer de fichier XML)

Merci pour l'aide
Go to the top of the page
 
Garga
posté 27 Oct 2010, 09:32
Message #10


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 171
Inscrit : 14-March 07
Lieu : Paris
Membre no 15916



Bonjour,

as tu essayé RSS Feed 1.0?
Je suis en train de test donc je peu pas te certifier que ca fonctionne.

Ce message a été modifié par Garga - 27 Oct 2010, 09:32.


--------------------
Garga.

Le developpement est un hobby pour moi et non mon metier. Je ne gere qu'un site web, le mien. Merci de votre indulgence.

Version OSC & ADDs: oscommerce-2.2rc1-FR-w3c-3 + CCGV_fixed5xx + infoBox_Admin_v2_25_1 + CenterShop + Banner in Header + AntiRobotRegistrationValidation-3.1 + Scrolling Specials + shop by price + login box in header + Quick Stock + French Colissimo Shipping + French Letter Max + Individual Product Shipping Methods + ...
Go to the top of the page
 
Acuponctus
posté 27 Oct 2010, 10:36
Message #11


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 68
Inscrit : 18-July 05
Lieu : Paris
Membre no 6539



Bonjour yyoossssii

la contrib est installée
le fichier google merchant aussi
il s'affiche bien dans le menu déroulant, et lorsque je choisi en cache j'indique google-merchant.txt
mais la question est la suivante :
a quel emplacement est créé le fichier ?

http://www.monsite.fr/export/google-merchant.txt ?

si c'est le cas ca ne créé rien du tout et ne me mets pas de message d'erreur.


--------------------
osCommerce MS2
CRE Loaded6 v4 Fr Sp1.2 RC2
Go to the top of the page
 
Jesam
posté 27 Oct 2010, 11:05
Message #12


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 56
Inscrit : 24-April 06
Lieu : Paris
Membre no 10102



En bas de ta fenêtre tu as Url générée : du genre http://www.nomdusite/export.php?format=goo...e=fr&libre=

Tu ouvres une nouvelle fenêtre dans ton navigateur et colle l'URL. Tu vois ainsi si c'est correct.

Ensuite pour rapidement comtrôler, copie uniquement les données de ton 1er article dans un fichier texte, que tu upload depuis Google Merchant, Fichier de données. Puis importation manuelle. Tu attends 2 minutes environ et tu vois si ton produit est importé ou si tu as des erreurs dans le code du fichier.

Tiens nous au courant, pour moi avec le fichier texte issu du code ci-dessus ça ne fonctionne pas.

Ce message a été modifié par Jesam - 27 Oct 2010, 11:13.
Go to the top of the page
 
Acuponctus
posté 27 Oct 2010, 13:40
Message #13


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 68
Inscrit : 18-July 05
Lieu : Paris
Membre no 6539



oui j'ai bien ceci :
www.gtrucmuch.com/export.php?format=google-txt.php&p=trucmuch&language=fr&cache=true&fichier=google-merchant.txt

j'ai une page blanche avec la fonction cache.
si j'ai bien compris, ca doit générer un fichier qui porte le nom google-merchant.txt

ma question est ou est ce fichier généré ?

Ce message a été modifié par Acuponctus - 27 Oct 2010, 13:42.


--------------------
osCommerce MS2
CRE Loaded6 v4 Fr Sp1.2 RC2
Go to the top of the page
 
Jesam
posté 27 Oct 2010, 14:41
Message #14


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 56
Inscrit : 24-April 06
Lieu : Paris
Membre no 10102



Pourquoi parles-tu de fonction cache ?

Tu colles l'url sur un nouvel onglet de ton navigateur et tu dois avoir plein de texte sur ta page.

Ensuite pour contrôler, ne prends que ton premier article et tu fais un copier/coller dans un fichier texte pour vérifier que les données sont bien prises en compte par GG Merchant.
Go to the top of the page
 
Jesam
posté 27 Oct 2010, 16:15
Message #15


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 56
Inscrit : 24-April 06
Lieu : Paris
Membre no 10102



Voici donc le fichier pour générer un XML pour Google Merchant.
Il y a plusieurs points à retoucher mais la génération du XML se fait sans problème

Code
<?php
/*
$Id: export.php, version 1.3 Mardi 18 Mars 2008 Vaisonet Exp $

Contribution Export universel pour Google Merchant
Réalisation Jesam 27/10/2010

http://www.vaisonet.com
Copyright © 2008 Vaisonet

Released under the GNU General Public License
*/

  $comp = array("Google Merchant");
  
// les promotions sont elles 1->solde,2->autre promotions
if ($reduc) $sale = 2;
  
  $header = 'Content-Type: text/xml';


  
  $head = '<?xml version="1.0" encoding="ISO-8859-1"?>' .chr(10) . '<catalogue lang="'.$lang_export.'" date="'.  date('Y-m-d H:i'). '" GMT="+1" version="2.0">'.chr(10);
  
  
  
  
  $output .= '<item>';
  $output .= '<id>'. $products['products_id'] .'</id>'.chr(10);
  $output .= '<title>'. $products['products_name'] .'</title>'.chr(10);
  $output .= '<link>'.  tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products['products_id']) . $libre .'</link>'.chr(10);
  $output .= '<price>'. $regular_price .'</price>'.chr(10);
  $output .= '<description>'. substr(strip_tags(str_replace(array('<BR>','<br>'), "</P>\n<P>",html_entity_decode($products['products_description']))),0,245) .'></description>'.chr(10);
  $output .= '<condition>'.' new'.'</condition>'.chr(10);
  $output .= '<brand>'.$products['manufacturers_name'].'</brand>'.chr(10);
  $output .= '<image_link>'. HTTP_SERVER . DIR_WS_HTTP_CATALOG . DIR_WS_IMAGES . $products['products_image'] .'</image_link>'.chr(10);
  $output .= '<shipping>'."\n";
  $output .= '<country>'.'FR'.'</country>'.chr(10);
  $output .= '<service>'.'Lettre Max'.'</service>'.chr(10);
  $output .= '<price>'.'4,00'.'</price>'.chr(10);
  $output .= '</shipping>';

  
  
  $output .= '</item>';
  
  
  $foot = '</catalogue>';
?>


Ensuite je retouche à la main le fichier généré pour obtenir ceci (je ne mets qu'un article smile.gif
Code
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:g="http://base.google.com/ns/1.0">
  <channel>
    <title>Titre de mon site</title>
    <description>Description de mon site</description>
    <link>http://www.monsite.fr</link>
    <item>
  <g:id>182</g:id>
  <title>Recharge Tombow Roller Bleu</title>
  <g:link>http://www.monsite.fr/recharge-tombow-roller-bleu-p-182.html</g:link>
  <g:price>2.4999988</g:price>
  <g:description>- Recharges pour stylo roller Tombow, couleur bleu - Existe en taille XF-0,3mm, F-0,5mm, M-0,7mm</g:description>
  <g:condition>new</g:condition>
  <g:brand>TOMBOW</g:brand>
  <g:image_link>http://www.monsite.fr/images/tombow/Tombow-bk-lp03-16 (Custom).jpg</g:image_link>
  <g:shipping>
  <g:country>FR</g:country>
  <g:service>Lettre Max</g:service>
  <g:price>4,00</g:price>
  </g:shipping>
  </item>
  </channel>
</rss>


Vous voyez donc que j'ajoute à "la main" des g: et du texte dans le head et en foot.

Si certains savent comment l'intégrer dans le fichier php, ce serait parfait.

Ce message a été modifié par Jesam - 27 Oct 2010, 16:17.
Go to the top of the page
 
mickael34
posté 28 Oct 2010, 20:02
Message #16


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 181
Inscrit : 3-January 08
Membre no 20263



Pour info, la technique en l'état de Yossi ne fonctionne pas.

Oui, le fichier est bien accepté dans Google Shopping et des produits sont bien présents.
Par contre chaque flux est soumis à une validation manuelle avant mise en ligne !

Je viens de recevoir un mail d'un technicien Google qui m'a contrôlé le flux et... refoulé !
Car pas d'images présentes avec ce fichier d'export ! Si vos fichiers n'ont pas d'images, GG ne vous l'acceptera pas lors du contrôle manuel du flux.

J'essaye de trouver la soluce et je poste le cas échéant.


--------------------
Sur OsCommerce 2.2
Go to the top of the page
 
kakashi
posté 28 Oct 2010, 20:06
Message #17


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 19
Inscrit : 28-October 10
Membre no 28192



Voilà un élément qui pourra t'aider. C'est parfaitement validé par google. Mon seul problème c'est que le fichier ne boucle pas avec la contrib export universel. Pour le moment j'ai pas déterminé la raison.


Code
  $comp = array(" Google Achat");
    
  $header = 'Content-Type: text/xml';

  $head = '<?xml version="1.0" encoding="UTF-8"?>' .chr(10) . '<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">' .chr(10);
  
    $output = '<channel>'."n";  
      $output .= '<title>' . STORE_NAME .' </title>'."n";  
      $output .= '<description>' . STORE_NAME .'</description>'."n";
      $output .= '<link>' . HTTP_SERVER .'</link>'."n";
      $output .= '<item '. $products['products_id'] .'>'."n";  
        $output .= '<g:id>'. $products['products_id'] .'</g:id>'.chr(10);          
        $output .= '<title>'. $products['products_name'] .'</title>'.chr(10);
        $output .= '<g:link>'.  tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products['products_id']) . $libre .'</g:link>'.chr(10);
        $output .= '<g:price>'. $regular_price .' EUR</g:price>'.chr(10);
        $output .= '<g:description>'. substr(strip_tags(str_replace(array('<BR>','<br />'), "</P>n<P>",utf8_encode(html_entity_decode($products['products_description'])))),0,10000) .'...></g:description>'.chr(10);
        $output .= '<g:condition>new</g:condition>'.chr(10);
        $output .= '<gtin>'. $products['products_ean'] .'</gtin>'.chr(10);
        $output .= '<g:brand>'. $products['manufacturers_name'] .'</g:brand>'.chr(10);
        $output .= '<g:mpn>'. $products['products_model'] .'</g:mpn>'.chr(10);
        $output .= '<g:image_link>'. HTTP_SERVER . DIR_WS_HTTP_CATALOG . DIR_WS_IMAGES . $products['products_image'] .'</g:image_link>'.chr(10);
        $output .= '<g:product_type>'.$cat_info[$products['categories_id']]['name'] . '</g:product_type>'.chr(10);
        $output .= '<g:featured_product>'.$featured_product .'</g:featured_product>'.chr(10);
     $output .= '</item>'.chr(10);
   $output .= '</channel>
Go to the top of the page
 
mickael34
posté 28 Oct 2010, 20:29
Message #18


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 181
Inscrit : 3-January 08
Membre no 20263



Merci, je viens de renvoyer avec ton code :

Code
<?php
/*
$Id: export.php, version 1.2 Vendredi 5 Octobre 2007 Vaisonet Exp $

Contribution Export universel

http://www.vaisonet.com
Copyright © 2007 Vaisonet

Released under the GNU General Public License
*/


$comp = array(" Google Achat");
    
  $header = 'Content-Type: text/xml';

  $head = '<?xml version="1.0" encoding="UTF-8"?>' .chr(10) . '<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">' .chr(10);
  
    $output = '<channel>'."n";  
      $output .= '<title>' . STORE_NAME .' </title>'."n";  
      $output .= '<description>' . STORE_NAME .'</description>'."n";
      $output .= '<link>' . HTTP_SERVER .'</link>'."n";
      $output .= '<item '. $products['products_id'] .'>'."n";  
        $output .= '<g:id>'. $products['products_id'] .'</g:id>'.chr(10);          
        $output .= '<title>'. $products['products_name'] .'</title>'.chr(10);
        $output .= '<g:link>'.  tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products['products_id']) . $libre .'</g:link>'.chr(10);
        $output .= '<g:price>'. $regular_price .' EUR</g:price>'.chr(10);
        $output .= '<g:description>'. substr(strip_tags(str_replace(array('<BR>','<br />'), "</P>n<P>",utf8_encode(html_entity_decode($products['products_description'])))),0,10000) .'...></g:description>'.chr(10);
        $output .= '<g:condition>new</g:condition>'.chr(10);
        $output .= '<gtin>'. $products['products_ean'] .'</gtin>'.chr(10);
        $output .= '<g:brand>'. $products['manufacturers_name'] .'</g:brand>'.chr(10);
        $output .= '<g:mpn>'. $products['products_model'] .'</g:mpn>'.chr(10);
        $output .= '<g:image_link>'. HTTP_SERVER . DIR_WS_HTTP_CATALOG . DIR_WS_IMAGES . $products['products_image'] .'</g:image_link>'.chr(10);
        $output .= '<g:product_type>'.$cat_info[$products['categories_id']]['name'] . '</g:product_type>'.chr(10);
        $output .= '<g:featured_product>'.$featured_product .'</g:featured_product>'.chr(10);
     $output .= '</item>'.chr(10);
   $output .= '</channel>'."n";
  
?>


On verra !


--------------------
Sur OsCommerce 2.2
Go to the top of the page
 
Jesam
posté 28 Oct 2010, 22:14
Message #19


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 56
Inscrit : 24-April 06
Lieu : Paris
Membre no 10102



mickael34, je n'obtiens que des erreurs avec ton code.

Peux-tu détailler ton process pour obtenir ton fichier XML

Mon process, je colle l'url générée sur un nouvel onglet de mon navigateur et j'ai le texte sur la page. Puis je sauvegarde.
Puis
Go to the top of the page
 
kakashi
posté 28 Oct 2010, 22:36
Message #20


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 19
Inscrit : 28-October 10
Membre no 28192



attention à cette ligne de code si vous n'êtes pas en uft8

Code
        $output .= '<g:description>'. substr(strip_tags(str_replace(array('<BR>','<br />'), "</P>n<P>",utf8_encode(html_entity_decode($products['products_description'])))),0,10000) .'...></g:description>'.chr(10);
par
        $output .= '<g:description>'. substr(strip_tags(str_replace(array('<BR>','<br />'), "</P>n<P>",$products['products_description'])),0,10000) .'...></g:description>'.chr(10);



de plus à la fi n de la ligne il doit y avoir ceci "\n"; et non "n"; . je ne sais pourquoi ils ont disparu.

Sinon pour voir le résultat, editez la source du fichier généré ou enregistrer le sur serveur et rapatrier le sur l'ordi

il se peut aussi que cette ligne ne soit pas bonne car je l'ai inséré après le test.
Code
$output .= '<item '. $products['products_id'] .'>'."n";
remplacer par
$output .= '<item>'."\n";

pour ma part je n'arrive tj pas à afficher plus de 1 produit. et vous est ce la même chose ?

mickael34 : est ce que tu as tous tes produits qui sont exportés ?

Ce message a été modifié par kakashi - 28 Oct 2010, 23:57.


--------------------
Cordialement

-------------------

Portail http://www.clicshopping.org, FAQ http://www.clicshopping.org
Go to the top of the page
 
mickael34
posté 29 Oct 2010, 08:32
Message #21


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 181
Inscrit : 3-January 08
Membre no 20263



J'ai la contrib Export Universel.
Dans le dossier des comparateurs de prix de la contrib, je me créé un fichier google.php (le nom n'a pas d'importance) dans lequel je colle le dernier code que j'ai posté.
Je lance l'export (en suivant les indications de la contrib).
Cela me crée un fichier correcte pour l'import dans google shopping.

Cela dit, cela ne passe toujours pas la validation manuelle (je dis bien manuelle !!).
Je suis en relation avec un technicien de chez GG, je fais 2 petites modifs et leur renvoi.
Si cette fois ça passe, je poste le bon code.

@ +



--------------------
Sur OsCommerce 2.2
Go to the top of the page
 
Jesam
posté 29 Oct 2010, 08:43
Message #22


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 56
Inscrit : 24-April 06
Lieu : Paris
Membre no 10102



Pour kakashi

Citation
pour ma part je n'arrive tj pas à afficher plus de 1 produit. et vous est ce la même chose ?


Prend mon code, tu dois avoir tous tes articles.

Mais attention, si dans tes descriptifs, tu as des caractères non autorisés, genre & codé en &ndash; tu auras dans le fichier XML généré, un message d'erreur. Le message est assez clair, on trouve très facilement l'ID du produit incriminé.
Ce que j'ai fait dans ces cas, j'ai modifié depuis la base de données les caractères à changer.

Par contre on peut améliorer dans ce cas le script php en complètant str_replace.

Pour mickael34

Citation
Cela dit, cela ne passe toujours pas la validation manuelle (je dis bien manuelle !!).

De quelle validation manuelle parles-tu ? Ne serait ce pas l'importation manuelle ?

Avec le code que j'ai fourni et les modifs manuelles que j'ai décrites, je passe sans souci. J'ai envoyé 250 articles pour un site et plus de 2500 à l'instant pour un autre site.

Ce message a été modifié par Jesam - 29 Oct 2010, 08:45.
Go to the top of the page
 
mickael34
posté 29 Oct 2010, 08:57
Message #23


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 181
Inscrit : 3-January 08
Membre no 20263



Non !

Attention, quand tu importes ton flux dans google shopping, tu vois apparaitre ton catalogue produit dans ton compte (si l'import c'est bien passé évidemment).

Par contre tes produits ne sont pas pour autant en ligne dès l'import effectué !

La validation de ton catalogue produit (la mise en ligne sur google shopping) se fait manuellement par un technicien !

Le code que j'ai mis en ligne importe sans pb mon catalogue produit par contre il ne passe pas la validation manuelle faite par le technicien.


PS : pour savoir si tes produits sont en ligne sur GG Shopping, tapes cette url :
http://www.google.fr/products?authorid=xxxxxxxxxx

xxxxxxx étant ton n° de compte GG Shopping


--------------------
Sur OsCommerce 2.2
Go to the top of the page
 
dvf
posté 29 Oct 2010, 09:01
Message #24


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 346
Inscrit : 21-December 05
Membre no 8273



Code
<?php
/*
$Id: export.php, version 1.2 Vendredi 5 Octobre 2007 Vaisonet Exp $

Contribution Export universel

http://www.dvfstore.com (google export csv)
Copyright © 2007 Vaisonet

Released under the GNU General Public License
*/

  $comp = array("GOOGLE");
  
  $header = "Content-type: text/plain";

  $head = "id\ttitle\tprice\tlink\timage link\tdescription\tlivraison\tbrand\tfeatured_product\tcondition\tmanufacturer\tavailabilit\tgtin\tTVA\n";

  $output .= "go" . $products['products_id'] ."\t";
  $output .= netoyage_html($products['products_name'], 80) . "\t";
  $output .= $price ."\t";
  $output .= tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products['products_id']) . $libre . "\t";
  $output .= HTTP_SERVER . DIR_WS_HTTP_CATALOG . DIR_WS_IMAGES . $products['products_image'] ."\t";
  $output .= netoyage_html($products['products_description'], 250) . "\t";
  $output .= "EUR:::"  . $ship . "\t";
  $output .= $products['manufacturers_name'] . "\t";
  $output .= $promo . "\t";
  $output .= "new\t";
  $output .= $products['manufacturers2_name'] . "\t";
$output .= "en stock\t";
$output .= $products['products_barcodes']. "\t";
  $output .=  "FR::" . $vat . " :o " . "\n";
  $foot = '';

?>



A vous de virer tous les champs que vous n"avez pas. et de remplacer

car j'ai beaucoup modifier la contrib de base ...

Version Txt , + Simple que du xml trop stict


Go to the top of the page
 
Jesam
posté 29 Oct 2010, 09:22
Message #25


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 56
Inscrit : 24-April 06
Lieu : Paris
Membre no 10102



Pour mickael34

Il faut compter environ 3 jours (info données sur les forums) pour voir ses produits validés.
En effet il y aurait une validation automatique + manuelle.

Mes premiers produits ont été insérés le 27/10 à 08h05, j'espère donc que demain tout sera validé biggrin.gif

La question que beaucoup se pose concerne l'information sur <g:condition> que l'on est obligé de mettre à new car neuf ne passe pas. Y a t'il une modif manuelle de son fichier par GG dans ce cas ?

J'ai repris ton code, mixé avec le mien, je génère à présent le bon fichier XML. Reste à ajouter quelques condition dans str_replace et ce sera parfait.

NB: par contre je dois rester en ISO et non en UT8 pour généré mon fichier.

Pour dvf

Perso je préfère le fichier XML beaucoup plus lisible et facilement modifiable, en effet j'ai "retouché" certains titres (et description) pour être mieux placé question référencement sur GG Merchant.

Ce message a été modifié par Jesam - 29 Oct 2010, 09:39.
Go to the top of the page
 

7 Pages V   1 2 3 > » 
Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 28th March 2024 - 20:55
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)