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

Bienvenue invité ( Connexion | Inscription )

8 Pages V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> Référencement sur leguide.com
angiez
posté 24 Jun 2005, 23:51
Message #76


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 524
Inscrit : 6-October 04
Membre no 3427



Merci Petrus pour le fichier... malheureusement cela ne fonctionne pas chez moi. ET ce même si je désactive seo (avec vidage du cache et désactivation du seo redirect).

J'ai essayé de modifier les dts sur le fichier, des fois que... mais toujours le vide absolu dans mon navigateur.

Je vais regarder le fichier de plus près, vu que j'ai installé pas mal de contributions il y a peut-être un petit bout de code qui plante le chargement.

Merci à tous les deux, je poste mes retours. wink.gif
Go to the top of the page
 
jean-yves
posté 30 Jun 2005, 15:17
Message #77


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 15
Inscrit : 1-June 04
Membre no 2576



Bonjour à tous,

Nous avons amélioré les moteurs internes sur leGuide.com et Webmarchand, et sommes désormais en mesure de traiter plus d'informations concernant les produits.

Nous avons donc développé un nouveau format standard de catalogue produit XML, que vous pouvez découvrir ici :
http://www.leguide.com/format/referencement.htm

Ceux qui souhaitent un modèle de XML généré et commenté peuvent me contacter en MP (un peu long pour être posté ici).

Donc nous avons également remanié le script d'export pour le faire correspondre avec ce nouveau format. Il a été testé sur une ms 2.2

Merci d'avance pour vos retours et suggestions smile.gif



CODE

<?php
/*
 $Id: xml_guide.php,v 1.43 2004/08/15 12:00:hpdl Exp $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Created by Toucouleur.fr:info@toucouleur.fr
 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/
 

/*
si vous utilisez une version de php supérieure ou égale à 4.3.10
vous pouvez supprimer ce qui suit jusqu'a "fin html_entity_decode" ligne 38
*/
if (!function_exists('html_entity_decode'))
{
function html_entity_decode ($string, $opt = ENT_COMPAT)
{
 $trans_tbl = get_html_translation_table (HTML_ENTITIES);
 $trans_tbl = array_flip ($trans_tbl);
 if ($opt & 1)
 { // Translating single quotes
   // Add single quote to translation table; doesn't appear to be there by default
   $trans_tbl["&apos;"] = "'";
 }
 if (!($opt & 2))
 { // Not translating double quotes
   // Remove double quote from translation table
   unset($trans_tbl["&quot;"]);
 }
 return strtr ($string, $trans_tbl);
}
}
//fin html_entity_decode

/*
 Fixe la limite de temps d'exécution du script (en seconde).
 Par défaut elle est de 30 secondes.
 La valeur 0, permet un temps d'exécution illimité.
 Cela dépend du nombre de produit, de la puissance,
 ainsi que de la charge de la machine au moment ou le script est lancé.
 Ne changez sa valeur que si vous rencontrez des erreurs
 en mettant une valeur supérieure à 30.
*/
 //set_time_limit(0);

 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"?>'.chr(10);

 // Déclaration du catalogue. Il est recommandé d'indiquer correctement la langue et le fuseau horaire GMT.
 echo '<catalogue lang="FR" date="'.  date('Y-m-d H:i'). '" GMT="+1" version="2.0">'.chr(10);

 // 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 , expires_date , specials_date_added FROM " . TABLE_SPECIALS . " WHERE products_id = " . $products['products_id'] . " AND status = '1'");
 $special_result = tep_db_fetch_array($special_query);
 /*if ($special_result = tep_db_fetch_array($special_query))
  $products['products_price'] = $special_result['specials_new_products_price'];*/

 $product_num++;

 //calcul des prix
 $price = tep_add_tax($products['products_price'], tep_get_tax_rate($products['products_tax_class_id']));
 if($special_result['specials_new_products_price'] == '' )   {
$discount_price = '';
$regular_price = $price;  
$sale = 0;
 }   else   {
$discount_price = $special_result['specials_new_products_price'];
$regular_price = $price;
$sale = 2; //Si les promotions sont des soldes, modifiez cette valeur par 1.
 }

 /*
 si la valeur d'un champ est fixe, vous pouvez l'indiquer comme ceci:
 <champ>valeur</champ>
 s'il n'a pas de valeur laissez le champ vide.
 Les unités de poids et taille peuvent être modifiées en dur lignes 164 et 165.
 La valeur de <sales> peut-être modifiée en dur ligne 127.
 
*/

 echo '<product place="'.$product_num.'">'."\n";
 echo '<merchant_category><![CDATA['.$cat_info[$products['categories_id']]['name'] . ']]></merchant_category>'.chr(10);
 echo '<offer_id><![CDATA['. $products['products_id'] .']]></offer_id>'.chr(10);
 echo '<name><![CDATA['. $products['products_name'] .']]></name>'.chr(10);
 echo '<description><![CDATA['. substr(strip_tags(str_replace(array('<BR>','<br>'), "</P>\n<P>",html_entity_decode($products['products_description']))),0,245) .'...]]></description>'.chr(10);
 echo '<regular_price currency="EUR">'. $regular_price .'</regular_price>'.chr(10);
 echo '<product_url><![CDATA['. HTTP_SERVER . DIR_WS_HTTP_CATALOG . FILENAME_PRODUCT_INFO . '?products_id=' . $products['products_id'] .']]></product_url>'.chr(10);
 echo '<image_url><![CDATA['. HTTP_SERVER . DIR_WS_HTTP_CATALOG . DIR_WS_IMAGES . $products['products_image'] .']]></image_url>'.chr(10);
 echo '<discount_price currency="EUR">'. $discount_price .'</discount_price>'.chr(10);
 echo '<price_discounted_from><![CDATA['.substr($special_result['specials_date_added'],0,16).']]></price_discounted_from>'.chr(10);
 echo '<price_discounted_until><![CDATA['.substr($special_result['expires_date'],0,16).']]></price_discounted_until>'.chr(10);
 echo '<sales>'.$sale.'</sales>'.chr(10);//sale peut prendre les valeurs : 0->pas de promotions,1->solde,2->autre type de promotions
 echo '<delivery currency="EUR">FR;-1;</delivery>'.chr(10);
 echo '<manufacter></manufacter>'.chr(10);
 echo '<brand><![CDATA['.$products['manufacturers_name'].']]></brand>'.chr(10);
 echo '<model_number><![CDATA['. $products['products_model'] .']]></model_number>'.chr(10);
 echo '<manufacturer_product_id><![CDATA[]]></manufacturer_product_id>'.chr(10);
 echo '<ean13></ean13>'.chr(10);
 echo '<guarantee unit="year"></guarantee>'.chr(10); //unit peut prendre les valeurs : year,month,week,day
 echo '<used></used>'.chr(10);
 echo '<used_condition><![CDATA[]]></used_condition>'.chr(10);//ne doit pas dépasser 25 caractères et doit être dans la langue du catalogue
 echo '<update_date><![CDATA['.substr($products['products_last_modified'],0,16).']]></update_date>'.chr(10);
 echo '<promo_text><![CDATA[]]></promo_text>'.chr(10);
 echo '<offer_valid_from><![CDATA['.substr($products['products_date_added'],0,16).']]></offer_valid_from>'.chr(10);
 echo '<offer_valid_until><![CDATA['.substr($products['products_date_available'],0,16).']]></offer_valid_until>'.chr(10);
 echo '<size unit="cm"></size>'.chr(10);
 echo '<weight unit="kg">'.$products['products_weight'].'</weight>'.chr(10);
 echo '<color><![CDATA[]]></color>'.chr(10);
 echo '</product>';
 flush();
 }

 echo '</catalogue>';

 require(DIR_WS_INCLUDES . 'application_bottom.php');
?>
Go to the top of the page
 
Quadricolor
posté 4 Jul 2005, 14:19
Message #78


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 353
Inscrit : 17-April 05
Lieu : Plus dans le sud que dans le nord
Membre no 5534



Jean-Yves,

à quoi vous sert la variable "delivery" que vous fixez systématiquement à
CODE
'<delivery currency="EUR">FR;-1;</delivery>'
Go to the top of the page
 
osgadou
posté 4 Jul 2005, 16:02
Message #79


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 470
Inscrit : 25-November 04
Membre no 3912



personnellement j'ai remplacé cette ligne :
CODE
// echo '<description><![CDATA['. substr(strip_tags(str_replace(array('<BR>','<br>'), "</P>\n<P>",html_entity_decode($products['products_description']))),0,245) .'...]]></description>'.chr(10);

echo '<description><![CDATA['. substr(strip_tags(str_replace(array('<BR>','<br>'), "</P>\n<P>",html_entity_decode(ereg_replace('<[^>]*>', '', $products['products_description'])))),0,245) .'...]]></description>'.chr(10);


car en rajoutant un ereg, ca permet lorsque dans ma description, je saute une ligne, de ne pas l'avoir dans cette courte description.. c'est plus propre.

voilà maintenant je vais m'inscrire chez leguide smile.gif


--------------------
MS2FR
Go to the top of the page
 
jean-yves
posté 4 Jul 2005, 16:11
Message #80


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 15
Inscrit : 1-June 04
Membre no 2576



QUOTE (Quadricolor @ 04 jui 2005, 09:19)
Jean-Yves,

à quoi vous sert la variable "delivery" que vous fixez systématiquement à
CODE
'<delivery currency="EUR">FR;-1;</delivery>'

C'est la balise qui permet de définir les frais de port et le délai de disponibilité par pays.

Elle se rédige de la façon suivante :
zone 1;frais port 1;disponibilité 1-zone 2;frais port 2;disponibilité 2- ...

par exemple :

<delivery currency="EUR">FR;4.90;0-BE;10.00;7-CH;12.00;5</delivery>

Ceci dit elle est inutilisée avec Oscommerce car nous n'avons pas trouvé le moyen de récupérer les frais de port (d'où le -1 par défaut qui correspond à "non communiqué" )
Go to the top of the page
 
osgadou
posté 4 Jul 2005, 16:37
Message #81


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 470
Inscrit : 25-November 04
Membre no 3912



Aussi,
si vous avez des produits dans des sous categories, c'est cette derniere qui sera affichée dans la categorie leguide d'apres le code.
Voici ce qu'il faut faire si votre categorie "parle" plus que votre sous categorie,
(perso mes sous categories sont mal faites, je prefere mettre la categorie mere).

CODE
$nom=$cat_info[$products['categories_id']]['name'];
$parentid=$cat_info[$products['categories_id']]['parent'];
if ($parentid!=0)
$nom =$cat_info[$parentid]['name'];

 echo '<merchant_category><![CDATA['. $nom . ']]></merchant_category>'.chr(10);


a la place de :

CODE
echo '<merchant_category><![CDATA['.$cat_info[$products['categories_id']]['name'] . ']]></merchant_category>'.chr(10);


--------------------
MS2FR
Go to the top of the page
 
petrus
posté 5 Jul 2005, 14:23
Message #82


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 193
Inscrit : 18-January 05
Membre no 4421



Bonjour,

J'ai modifié le script pour prendre en compte le rewriting avec Ultimate SEO URLs, comme c'était le cas auparavant avec la version de quadricolor.

Cela peut peut-être en intéresser certains, voici mon code :

CODE
<?php
/*
$Id: xml_guide.php,v 1.45 2005/04/21 09:00:hpdl Exp $

osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com

Created by Toucouleur : info@toucouleur.fr

Copyright (c) 2003 osCommerce

Released under the GNU General Public License
*/


/*
si vous utilisez une version de php supérieure ou égale à 4.3.10
vous pouvez supprimer ce qui suit jusqu'a "fin html_entity_decode" ligne 38
*/
if (!function_exists('html_entity_decode'))
{
function html_entity_decode ($string, $opt = ENT_COMPAT)
{
$trans_tbl = get_html_translation_table (HTML_ENTITIES);
$trans_tbl = array_flip ($trans_tbl);
if ($opt & 1)
{ // Translating single quotes
  // Add single quote to translation table; doesn't appear to be there by default
  $trans_tbl["&apos;"] = "'";
}
if (!($opt & 2))
{ // Not translating double quotes
  // Remove double quote from translation table
  unset($trans_tbl["&quot;"]);
}
return strtr ($string, $trans_tbl);
}
}
//fin html_entity_decode

/*
Fixe la limite de temps d'exécution du script (en seconde).
Par défaut elle est de 30 secondes.
La valeur 0, permet un temps d'exécution illimité.
Cela dépend du nombre de produit, de la puissance,
ainsi que de la charge de la machine au moment ou le script est lancé.
Ne changez sa valeur que si vous rencontrez des erreurs
en mettant une valeur supérieure à 30.
*/
//set_time_limit(0);

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"?>'.chr(10);

// Déclaration du catalogue. Il est recommandé d'indiquer correctement la langue et le fuseau horaire GMT.
echo '<catalogue lang="FR" date="'.  date('Y-m-d H:i'). '" GMT="+1" version="2.0">'.chr(10);

// 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 , expires_date , specials_date_added FROM " . TABLE_SPECIALS . " WHERE products_id = " . $products['products_id'] . " AND status = '1'");
$special_result = tep_db_fetch_array($special_query);
/*if ($special_result = tep_db_fetch_array($special_query))
 $products['products_price'] = $special_result['specials_new_products_price'];*/

$product_num++;

// Définition des URLs en fonction de l'exploitation ou non de la contribution
// http://www.oscommerce.com/community/contributions,2823 "Ultimate SEO URLs"
$seo = ( defined('SEO_URLS') ? SEO_URLS : false );
$seo_rewrite_type = ( defined('SEO_URLS_TYPE') ? SEO_URLS_TYPE : false );

$products_url = tep_href_link(FILENAME_PRODUCT_INFO, 'products_id='. $products['products_id']);
 
if ($seo_rewrite_type == 'Rewrite') {
// On retire le ?osCsid = qui est inutile de communiquer mais qui a été "distribué" par la session utilisateur ayant utilisé ce script
$products_url = substr($products_url, 0, strlen($products_url)-strlen(strstr($products_url,'?')));
} else {
$products_url = substr($products_url, 0, strlen($products_url)-strlen(strstr($products_url,'&osCsid')));
}

$products['products_name'] = str_replace ('&#39','\'',$products['products_name']);
$products['products_description'] = str_replace ('&#39','\'',$products['products_description']);
//echo '<produit num="'.$product_num.'">'."\n";
//calcul des prix
$price = tep_add_tax($products['products_price'], tep_get_tax_rate($products['products_tax_class_id']));
if($special_result['specials_new_products_price'] == '' )   {
$discount_price = '';
$regular_price = $price;  
$sale = 0;
}   else   {
$discount_price = $special_result['specials_new_products_price'];
$regular_price = $price;
$sale = 2; //Si les promotions sont des soldes, modifiez cette valeur par 1.
}

/*
si la valeur d'un champ est fixe, vous pouvez l'indiquer comme ceci:
<champ>valeur</champ>
s'il n'a pas de valeur laissez le champ vide.
Les unités de poids et taille peuvent être modifiées en dur lignes 164 et 165.
La valeur de <sales> peut-être modifiée en dur ligne 127.

*/

echo '<product place="'.$product_num.'">'."\n";
echo '<merchant_category><![CDATA['.$cat_info[$products['categories_id']]['name'] . ']]></merchant_category>'.chr(10);
echo '<offer_id><![CDATA['. $products['products_id'] .']]></offer_id>'.chr(10);
echo '<name><![CDATA['. $products['products_name'] .']]></name>'.chr(10);
echo '<description><![CDATA['. substr(strip_tags(str_replace(array('<BR>','<br>'), "</P>\n<P>",html_entity_decode($products['products_description']))),0,245) .'...]]></description>'.chr(10);
echo '<regular_price currency="EUR">'. $regular_price .'</regular_price>'.chr(10);
echo '<url><![CDATA['. $products_url .']]></url>';
// echo '<product_url><![CDATA['. HTTP_SERVER . DIR_WS_HTTP_CATALOG . FILENAME_PRODUCT_INFO . '?products_id=' . $products['products_id'] .']]></product_url>'.chr(10);
echo '<image_url><![CDATA['. HTTP_SERVER . DIR_WS_HTTP_CATALOG . DIR_WS_IMAGES . $products['products_image'] .']]></image_url>'.chr(10);
echo '<discount_price currency="EUR">'. $discount_price .'</discount_price>'.chr(10);
echo '<price_discounted_from><![CDATA['.substr($special_result['specials_date_added'],0,16).']]></price_discounted_from>'.chr(10);
echo '<price_discounted_until><![CDATA['.substr($special_result['expires_date'],0,16).']]></price_discounted_until>'.chr(10);
echo '<sales>'.$sale.'</sales>'.chr(10);//sale peut prendre les valeurs : 0->pas de promotions,1->solde,2->autre type de promotions
echo '<delivery currency="EUR">FR;-1;</delivery>'.chr(10);
echo '<manufacter></manufacter>'.chr(10);
echo '<brand><![CDATA['.$products['manufacturers_name'].']]></brand>'.chr(10);
echo '<model_number><![CDATA['. $products['products_model'] .']]></model_number>'.chr(10);
echo '<manufacturer_product_id><![CDATA[]]></manufacturer_product_id>'.chr(10);
echo '<ean13></ean13>'.chr(10);
echo '<guarantee unit="year"></guarantee>'.chr(10); //unit peut prendre les valeurs : year,month,week,day
echo '<used></used>'.chr(10);
echo '<used_condition><![CDATA[]]></used_condition>'.chr(10);//ne doit pas dépasser 25 caractères et doit être dans la langue du catalogue
echo '<update_date><![CDATA['.substr($products['products_last_modified'],0,16).']]></update_date>'.chr(10);
echo '<promo_text><![CDATA[]]></promo_text>'.chr(10);
echo '<offer_valid_from><![CDATA['.substr($products['products_date_added'],0,16).']]></offer_valid_from>'.chr(10);
echo '<offer_valid_until><![CDATA['.substr($products['products_date_available'],0,16).']]></offer_valid_until>'.chr(10);
echo '<size unit="cm"></size>'.chr(10);
echo '<weight unit="kg">'.$products['products_weight'].'</weight>'.chr(10);
echo '<color><![CDATA[]]></color>'.chr(10);
echo '</product>';
flush();

}

echo '</catalogue>';

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


--------------------
Pierre

MS2 Fr - Easy Populate - Main Categories - Colissimo suivi - Send order html email - Box Image Thema - admin : copy, move and delete multiple products - Add new Fields - Featured Products - Ultimate SEO URLs 2.1d - Faster Page Loads, Less DB queries - Page Cache - Credit Class & Gift Voucher - Specials on Default - leguide.com - Google XML Sitemap
Go to the top of the page
 
jean-yves
posté 5 Jul 2005, 14:26
Message #83


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 15
Inscrit : 1-June 04
Membre no 2576



Bonjour Petrus,

Cette version est-elle compatible avec tous les sites, même les non rewrités, ou est-elle utilisable uniquement avec les sites rewrités ?
Go to the top of the page
 
petrus
posté 5 Jul 2005, 14:38
Message #84


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 193
Inscrit : 18-January 05
Membre no 4421



Bonjour Jean-Yves,

Je viens de faire le test sur une version de base. Cela semble fonctionner en non-rewrité.
En revanche, sur mon installation avec Ultimate SEO URLs, si l'on désactive le rewriting, on obtient la même adresse pour tous les produits :

http://monsite/product_info.php

Ce n'est donc pas encore tout à fait au point. Si Quadricolor fait un tour dans les parages, il pourra certainement améliorer l'affaire. wink.gif


--------------------
Pierre

MS2 Fr - Easy Populate - Main Categories - Colissimo suivi - Send order html email - Box Image Thema - admin : copy, move and delete multiple products - Add new Fields - Featured Products - Ultimate SEO URLs 2.1d - Faster Page Loads, Less DB queries - Page Cache - Credit Class & Gift Voucher - Specials on Default - leguide.com - Google XML Sitemap
Go to the top of the page
 
Quadricolor
posté 5 Jul 2005, 15:09
Message #85


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 353
Inscrit : 17-April 05
Lieu : Plus dans le sud que dans le nord
Membre no 5534



bon alors 2 choses.

la version ci-après prend en charge l'URL Rewriting et fonctionne aussi bien avec ou sans le SEO d'installé. Le tout st d'utiliser correctement la fonction tep_href_link plutot que de s'auser à reconstruire le lien à la main (source d'erreur dailleur)

deuxième chose.

Comme il ya un paramètre du <sf> je me suis dit que je pourrai l'utiliser donc le script ci-après permet d'utiliser ce qui fournit de base avec OsCommerce MS2.2 avec le module ot_shipping, qui vous permet en fonction d'un certain montant d'offrir les frais e ports.

c'est la version que j'ai installé sur le plus gros site que je gère avec leguide et à priori tout à l'air de fonctionner. Pour mon cas de figure tout les prix au dessus de 20 € font que les frais de ports sont à 0. Simple non ?

CODE
<?php
/*
$Id: xml_guide.php,v 2.01 2005/07/03 12:00:hpdl Exp $

osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com

Created by Toucouleur.fr:info@toucouleur.fr
Updated by Leguide.com:infos@leguide.com

Copyright (c) 2003 osCommerce

Released under the GNU General Public License
*/

/*
si vous souhaitez spécifier les frais de ports ET si vous utilisez les
frais de ports offerts à partir d'un certain pontant avec "ot_shipping"
voir http://votreboutique.com/admin/modules.php?set=ordertotal&module=ot_shipping
définissez le montant minimum des frais de ports ci-après, sinon mettre // devant cette ligne
*/
define('SF', 5); // pour 5 € de frais de livraison

/*
si vous utilisez une version de php supérieure ou égale à 4.3.10
vous pouvez supprimer ce qui suit jusqu'a "fin html_entity_decode" ligne 38
*/
if (!function_exists('html_entity_decode'))
{
function html_entity_decode ($string, $opt = ENT_COMPAT)
{
$trans_tbl = get_html_translation_table (HTML_ENTITIES);
$trans_tbl = array_flip ($trans_tbl);
if ($opt & 1)
{ // Translating single quotes
  // Add single quote to translation table; doesn't appear to be there by default
  $trans_tbl["&apos;"] = "'";
}
if (!($opt & 2))
{ // Not translating double quotes
  // Remove double quote from translation table
  unset($trans_tbl["&quot;"]);
}
return strtr ($string, $trans_tbl);
}
}
//fin html_entity_decode

/*
Fixe la limite de temps d'exécution du script (en seconde).
Par défaut elle est de 30 secondes.
La valeur 0, permet un temps d'exécution illimité.
Cela dépend du nombre de produit, de la puissance,
ainsi que de la charge de la machine au moment ou le script est lancé.
Ne changez sa valeur que si vous rencontrez des erreurs
en mettant une valeur supérieure à 30.
*/
//set_time_limit(0);

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"?>'.chr(10);

// Déclaration du catalogue. Il est recommandé d'indiquer correctement la langue et le fuseau horaire GMT.
echo '<catalogue lang="FR" date="'.  date('Y-m-d H:i'). '" GMT="+1" version="2.0">'.chr(10);

// 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 , expires_date , specials_date_added FROM " . TABLE_SPECIALS . " WHERE products_id = " . $products['products_id'] . " AND status = '1'");
$special_result = tep_db_fetch_array($special_query);
/*if ($special_result = tep_db_fetch_array($special_query))
 $products['products_price'] = $special_result['specials_new_products_price'];*/

$product_num++;

//calcul des prix
$price = tep_add_tax($products['products_price'], tep_get_tax_rate($products['products_tax_class_id']));
if($special_result['specials_new_products_price'] == '' )   {
$discount_price = '';
$shipping_price = $regular_price = $price;  
$sale = 0;
}   else   {
$shipping_price = $discount_price = $special_result['specials_new_products_price'];
$regular_price = $price;
$sale = 2; //Si les promotions sont des soldes, modifiez cette valeur par 1.
}

/*
si la valeur d'un champ est fixe, vous pouvez l'indiquer comme ceci:
<champ>valeur</champ>
s'il n'a pas de valeur laissez le champ vide.
Les unités de poids et taille peuvent être modifiées en dur lignes 164 et 165.
La valeur de <sales> peut-être modifiée en dur ligne 127.

*/

echo '<product place="'.$product_num.'">'."\n";
echo '<merchant_category><![CDATA['.$cat_info[$products['categories_id']]['name'] . ']]></merchant_category>'.chr(10);
echo '<offer_id><![CDATA['. $products['products_id'] .']]></offer_id>'.chr(10);
echo '<name><![CDATA['. $products['products_name'] .']]></name>'.chr(10);
echo '<description><![CDATA['. substr(strip_tags(str_replace(array('<BR>','<br>'), "</P>\n<P>",html_entity_decode($products['products_description']))),0,245) .'...]]></description>'.chr(10);
echo '<regular_price currency="EUR">'. $regular_price .'</regular_price>'.chr(10);
echo '<product_url><![CDATA['. tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products['products_id'], 'NONSSL', false) .']]></product_url>'.chr(10);
echo '<image_url><![CDATA['. HTTP_SERVER . DIR_WS_HTTP_CATALOG . DIR_WS_IMAGES . $products['products_image'] .']]></image_url>'.chr(10);
echo '<discount_price currency="EUR">'. $discount_price .'</discount_price>'.chr(10);
echo '<price_discounted_from><![CDATA['.substr($special_result['specials_date_added'],0,16).']]></price_discounted_from>'.chr(10);
echo '<price_discounted_until><![CDATA['.substr($special_result['expires_date'],0,16).']]></price_discounted_until>'.chr(10);
echo '<sales>'.$sale.'</sales>'.chr(10);//sale peut prendre les valeurs : 0->pas de promotions,1->solde,2->autre type de promotions
echo '<delivery currency="EUR">FR;-1;</delivery>'.chr(10);
echo '<manufacter></manufacter>'.chr(10);
echo '<brand><![CDATA['.$products['manufacturers_name'].']]></brand>'.chr(10);
echo '<model_number><![CDATA['. $products['products_model'] .']]></model_number>'.chr(10);
echo '<manufacturer_product_id><![CDATA[]]></manufacturer_product_id>'.chr(10);
echo '<ean13></ean13>'.chr(10);
echo '<guarantee unit="year"></guarantee>'.chr(10); //unit peut prendre les valeurs : year,month,week,day
echo defined('SF') ? '<sf>'. ($shipping_price >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER ? '0' : intval(SF)) .'</sf>'.chr(10) : ''; //pour les frais de ports
echo '<used></used>'.chr(10);
echo '<used_condition><![CDATA[]]></used_condition>'.chr(10);//ne doit pas dépasser 25 caractères et doit être dans la langue du catalogue
echo '<update_date><![CDATA['.substr($products['products_last_modified'],0,16).']]></update_date>'.chr(10);
echo '<promo_text><![CDATA[]]></promo_text>'.chr(10);
echo '<offer_valid_from><![CDATA['.substr($products['products_date_added'],0,16).']]></offer_valid_from>'.chr(10);
echo '<offer_valid_until><![CDATA['.substr($products['products_date_available'],0,16).']]></offer_valid_until>'.chr(10);
echo '<size unit="cm"></size>'.chr(10);
echo '<weight unit="kg">'.$products['products_weight'].'</weight>'.chr(10);
echo '<color><![CDATA[]]></color>'.chr(10);
echo '</product>';
flush();
}

echo '</catalogue>';

require(DIR_WS_INCLUDES . 'application_bottom.php');
?>
Go to the top of the page
 
angiez
posté 5 Jul 2005, 16:03
Message #86


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 524
Inscrit : 6-October 04
Membre no 3427



Bonjour Quadricolor, Bonjour à tous,

Je n'y comprends rien. Ton script ne marche toujours pas chez moi, qd je dis que cela ne marche pas c'est que cela m'affiche ce code :

CODE
-
<html>
<body/>
</html>


A part ça... rien. huh.gif

Je vais encore triturer ton code pour voir si j'obtiens ne serait-ce qu'un produit!

Merci pour ton script! wink.gif
Go to the top of the page
 
petrus
posté 5 Jul 2005, 16:23
Message #87


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 193
Inscrit : 18-January 05
Membre no 4421



Salut Quadricolor,

Ton code fonctionne bien, à part le rewriting des accents et surtout apostrophes.

Dans la version précédente, il y avait le code suivant qui en venait à bout :

CODE
$products['products_name'] = str_replace ('&#39','\'',$products['products_name']);
$products['products_description'] = str_replace ('&#39','\'',$products['products_description']);
//echo '<produit num="'.$product_num.'">'."\n";


Un petit équivalent à proposer, ô Quadri ? wink.gif


--------------------
Pierre

MS2 Fr - Easy Populate - Main Categories - Colissimo suivi - Send order html email - Box Image Thema - admin : copy, move and delete multiple products - Add new Fields - Featured Products - Ultimate SEO URLs 2.1d - Faster Page Loads, Less DB queries - Page Cache - Credit Class & Gift Voucher - Specials on Default - leguide.com - Google XML Sitemap
Go to the top of the page
 
angiez
posté 5 Jul 2005, 16:46
Message #88


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 524
Inscrit : 6-October 04
Membre no 3427



Petrus,

tu peux utiliser la fonction strip postée plus haut en la plaçant dans ton fichier functions/general.php . Cela te permet d'y faire appel qd tu en as besoin.
Go to the top of the page
 
petrus
posté 5 Jul 2005, 16:53
Message #89


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 193
Inscrit : 18-January 05
Membre no 4421



Bonjour angiez,

Merci du tuyau, mais concrètement, ça donne quoi ? blink.gif


--------------------
Pierre

MS2 Fr - Easy Populate - Main Categories - Colissimo suivi - Send order html email - Box Image Thema - admin : copy, move and delete multiple products - Add new Fields - Featured Products - Ultimate SEO URLs 2.1d - Faster Page Loads, Less DB queries - Page Cache - Credit Class & Gift Voucher - Specials on Default - leguide.com - Google XML Sitemap
Go to the top of the page
 
angiez
posté 5 Jul 2005, 17:54
Message #90


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 524
Inscrit : 6-October 04
Membre no 3427



Bonsoir Petrus,

1. tu retires de ton fichier seo_class la def de la fonction strip :

CODE
 function strip($convert_me) {
$strip_array = array("&#39",chr(33),chr(34),chr(35),chr(36),chr(37),chr(38),chr(39),chr(40),chr(41),chr(42),chr(43),chr(44),chr(45),chr(46),chr(47),chr(58),chr(59),chr(60),chr(61),chr(62),chr(63),chr(91),chr(92),chr(93),chr(94),chr(95),chr(96),chr(123),chr(124),chr(125),chr(126) );  
$convert_me = str_replace($strip_array, '-', $convert_me);
$convert_me = str_replace(array(' ', '  ', '__', '--', '°', '\'', '-', '~', '&nbsp;', '`'), '-', $convert_me);
$convert_me = str_replace(array('é', 'è', 'ê', 'ë'), 'e', $convert_me);
$convert_me = str_replace(array('î', 'ï'), 'i', $convert_me);
$convert_me = str_replace(array('à', 'â'), 'a', $convert_me);
$convert_me = str_replace(array('ç'), 'c', $convert_me);
$convert_me = str_replace(array('ô', 'ö'), 'o', $convert_me);
$convert_me = str_replace(array('û', 'ü'), 'u', $convert_me);
// $convert_me = str_replace(array('>'), 'l-', $convert_me);
// $convert_me = str_replace(array('S'), 'oe', $convert_me);
$convert_me = strtolower($convert_me);
return $convert_me;
}


2. Tu colles cette même def dans ton fichier functions/general.php

3. Tu remplaces :


CODE
$products['products_name'] = str_replace ('&#39','\'',$products['products_name']);
$products['products_description'] = str_replace ('&#39','\'',$products['products_description']);
//echo '<produit num="'.$product_num.'">'."\n";


par

CODE
$products['products_name'] = strip($products['products_name']);

$products['products_description'] = strip($products['products_description']);
//echo '<produit num="'.$product_num.'">'."\n";


Et le tour est joué! wink.gif
Go to the top of the page
 
petrus
posté 5 Jul 2005, 21:50
Message #91


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 193
Inscrit : 18-January 05
Membre no 4421



Bonsoir Angiez,

Voilà ce que j'appelle des explications limpides !
J'avoue que j'aurais eu beaucoup de mal à trouver tout seul. Cela a l'air de fonctionner très bien.

Un grand merci.


--------------------
Pierre

MS2 Fr - Easy Populate - Main Categories - Colissimo suivi - Send order html email - Box Image Thema - admin : copy, move and delete multiple products - Add new Fields - Featured Products - Ultimate SEO URLs 2.1d - Faster Page Loads, Less DB queries - Page Cache - Credit Class & Gift Voucher - Specials on Default - leguide.com - Google XML Sitemap
Go to the top of the page
 
angiez
posté 6 Jul 2005, 00:16
Message #92


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 524
Inscrit : 6-October 04
Membre no 3427



Je t'en prie Pétrus! wink.gif
Go to the top of the page
 
TiDjY
posté 7 Jul 2005, 11:31
Message #93


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 38
Inscrit : 5-May 05
Lieu : France
Membre no 5748



Bonjour à tous,

Franchement chapeau cette contrib est super à part un petit soucis déja cité et dont je n'ai pas cu de réponse.

Quand je mets mon fichier.php à la racine de mon site tout se passe bien mais quand je le mets dans un dossier par exemple /dossier/fichier.php cela m'affiche

QUOTE
Warning: main(includes/application_top.php): failed to open stream: No such file or directory in /home/.filer4/xtremepclan/www/comparhaut/comparhaut.php on line 13

Fatal error: main(): Failed opening required 'includes/application_top.php' (include_path='.:/usr/share/php/PEAR') in /home/.filer4/xtremepclan/www/comparhaut/comparhaut.php on line 13



Merci de me tenir au courant si vous avez de l'aide à mapportez.

smile.gif

Go to the top of the page
 
econnect
posté 10 Jul 2005, 22:36
Message #94


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 20
Inscrit : 11-March 05
Membre no 5111



une petite adaptation à ajouter à la demande des responsables du site 'leguide.com'.
---> ajouter l'url du produit dans le XML.

code :
echo '<url><![CDATA['. HTTP_SERVER . DIR_WS_HTTP_CATALOG . "product_info.php?cPath=". $products['categories_id'] . "&products_id=". $products['products_id'] .']]></url>';

merci à la personne qui a généré le code pour le XML , du travail de pro!


--------------------
MS2 Fr sur serveur dédié
Go to the top of the page
 
Quadricolor
posté 11 Jul 2005, 07:08
Message #95


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 353
Inscrit : 17-April 05
Lieu : Plus dans le sud que dans le nord
Membre no 5534



QUOTE (econnect @ 10 jui 2005, 17:36)
une petite adaptation à ajouter à la demande des responsables du site 'leguide.com'.
---> ajouter l'url du produit dans le XML.

code :
echo '<url><![CDATA['. HTTP_SERVER . DIR_WS_HTTP_CATALOG . "product_info.php?cPath=". $products['categories_id'] . "&products_id=". $products['products_id'] .']]></url>';

merci à la personne qui a généré le code pour le XML , du travail de pro!

attention, il ne faut pas tout confondre, ce que tu indiques permet de générer "en dure" le lien vers ta fiche produit. Plus haut une solution a été donné pour utiliser la fonction native à OsCommerce à savoir la fonction tep_href_link. J'iamgine que si leguide.com t'a redonné cette ligne de code, c'est que les vrsions du script donné plus haut ne fonctionnait pas chez toi. Quel erreur cela te donnait il ?
Go to the top of the page
 
maxcdr
posté 18 Jan 2006, 22:58
Message #96


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 754
Inscrit : 10-April 05
Lieu : Haute-Savoie
Membre no 5449



Les gens de l'intégration Webmarchand me demande de faire pour que le <merchant_category> renvoi l'arborescece complete de mon produit et non pas uniquement la catégorie dans laquelle il se trouve.

En clair :

arrow.gif Avec le code actuel j'obtiens :
CODE

categorie03


arrow.gif Et ce qu'ils veulent c'est plutot :
CODE

categorie01/categorie02/categorie03


Comment faire question.gif

Merci smile.gif


--------------------
Go to the top of the page
 
maxmaxph
posté 20 Jan 2006, 15:23
Message #97


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 19
Inscrit : 20-August 05
Lieu : ARRAS
Membre no 6841



salut!
question à la con....

Comment fait on pour différencier les produits d'occaz des produits neuf, car dans ma boutique j'ai a peu près 150 produits neufs et 4 d'occaz, donc leguide me demande de faire quelque chose mais quoi?? ça se passe surement dans used><used?.........


--------------------
je bosse avec la version CRE_Loaded_OSC_6.0_SP1.2_RC2 PATCHEE
j'ai créé le template en me basant sur le squelette HELIUS
Contrib:
-products_on_order1.2_for_Crel
-Ultimate_SEO_URLs_v2.1d_1_2
-Paypal IPN V1.1
-cre-6.1a-sitemap_ver.2.0
-xml_guide pour le guide.com
Ceci pour site vente en ligne instruments, sono, studio
Go to the top of the page
 
Phocea
posté 20 Jan 2006, 18:07
Message #98


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1448
Inscrit : 12-March 05
Lieu : Chuiche
Membre no 5120



MaxCr, marrant moi ils m ont rien demander de changer ..Enfin vu que j ai du faire ca pour ebuyclub voila la soluce:

CODE
// Product Categories
$allcatpathid = explode("_", $cat_info[$row['categories_id']]['path']);
               $allcatpathnames = '';
for ($j=0; $j<sizeof($allcatpathid); $j++) {
   $allcatpathnames[$j] = $cat_info[$allcatpathid[$j]]['name'];
}

$rayons  = implode("/", $allcatpathnames);


$rayons contient alors la string categorie1/categorie2/categorie3 ..etc
Go to the top of the page
 
xaglo
posté 20 Jan 2006, 18:26
Message #99


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 14914
Inscrit : 22-November 02
Membre no 610



pour maxmaxph... on s'y perd entre ces maxxx laugh.gif

Il faut que tu adaptes un petit peu le fichier... tu as déjà la ligne
QUOTE
echo '<occasion>0</occasion>';
Il suffit donc que tu ajoutes une condition pour mettre 1 si ton produit est d'occasion: Tu ajoutes à la requête produit le champs 'occase' (seul toi sais comment il s'appelle) et si ce champs est 1 pour un produit d'occas' et 0 pour un produit neuf, tu mets simplement
CODE
echo '<occasion><![CDATA['. $products['occase'] .']]></occasion>';

Voilà pour le principe. A adapter à la façon dont tu gères en base les produits d'occasion


--------------------
Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions
Go to the top of the page
 
maxcdr
posté 21 Jan 2006, 07:55
Message #100


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 754
Inscrit : 10-April 05
Lieu : Haute-Savoie
Membre no 5449



Merci Phocea !

Comment dois-je intégrer $rayons dans la ligne
CODE

echo '<merchant_category><![CDATA['.$cat_info[$products['categories_id']]['name'] . ']]></merchant_category>'.chr(10);
question.gif


--------------------
Go to the top of the page
 

8 Pages V  « < 2 3 4 5 6 > » 
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 : 16th April 2024 - 05:14
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)