Bonjour,
après avoir été référencé sur www.webmarchand.com et sur leguide.com j'ai décidé de me lancer pour la MS2.2 de leur faire parvenir au format XML le contenu de mon catalogue.
Je voudrai savoir si certains d'entre vous ont déjà tenté une intégration de ce type sur leguide.com et si oui, cela a t'il impacté sur le volume de vos vente
Pour ma boutique j'ai donc créé un lien qui a été validé par l'équipe de "leguide.com" et qui devrait être intégré automatiquement à partir de lundi prochain.
L'url qu'ils vont chercher est
http://www.boutique.com/catalog/xml_guide.phpet le code que j'ai créé pour l'occasion est donc celui ci, je me demande s'il faut que je cré une vrai contribution, mais je pense que je pourrai travailler sur les requêtes SQL pour combiner les 3 requêtes en une seule...
à vous de juger...
CODE |
<?php /* $Id: xml_guide.php,v 1.44 2004/08/15 12:00:hpdl Exp $
osCommerce, Open Source E-Commerce Solutions [URL=http://www.oscommerce.com]http://www.oscommerce.com[/URL]
Copyright © 2003 osCommerce
Released under the GNU General Public License */
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'] .= ' <a href="' . tep_href_link(FILENAME_DEFAULT, 'cPath=' . $cat_info[$link_array[$j]]['path']) . '"><nobr>' . $cat_info[$link_array[$j]]['name'] . '</nobr></a> » '; } }
// 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 '<produit num="'.$product_num.'">'."\n"; echo '<categorie><![CDATA['.$cat_info[$products['categories_id']]['name'] . ']]></categorie>';
echo '<marque><![CDATA['.$products['manufacturers_name'].']]></marque>'; echo '<reference><![CDATA['. $products['products_model'] .']]></reference>'; echo '<refinterne><![CDATA['. $products['products_id'] .']]></refinterne>'; echo '<designation><![CDATA['. $products['products_name'] .']]></designation>'; echo '<description><![CDATA['. substr(strip_tags(str_replace(array('<BR>','<br>'), "</P>\n<P>",html_entity_decode($products['products_description']))),0,245) .'...]]></description>'; echo '<ean13></ean13>'; echo '<garantie>1</garantie>'; echo '<occasion>0</occasion>'; echo '<disponibilite>0</disponibilite>'; echo '<prix monnaie="EUR">'. tep_add_tax($products['products_price'], tep_get_tax_rate($products['products_tax_class_id'])) .'</prix>'; echo '<fp monnaie="EUR">0</fp>'; echo '<url><![CDATA['. HTTP_SERVER . DIR_WS_HTTP_CATALOG . FILENAME_PRODUCT_INFO . '?products_id=' . $products['products_id'] .']]></url>'; echo '<img><![CDATA['. HTTP_SERVER . DIR_WS_HTTP_CATALOG . DIR_WS_IMAGES . $products['products_image'] .']]></img>'; echo '</produit>'; } echo '</catalogue>'; require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> |