Posted 8 Jun 2007 · Report post je l'ai aidé un petit peu quand meme... :D yes c'est vrai :D et tu valide ce code alors ? ;) Share this post : post Share on other sites
Posted 8 Jun 2007 · Report post Je vais modifier pour la validité RSS, mais pas avec l'urlrewrit parce que tous le monde n'a pas le module. Share this post : post Share on other sites
Posted 8 Jun 2007 · Report post Ou bien publie les 2 codes en disant avec ou sans réécriture, car a chaque fois on lutte pour trouver les bonnes versions Share this post : post Share on other sites
Posted 8 Jun 2007 · Report post Merci a Willy et Eric pour leur aide, et a Noya_m pour ses questions ;) PS : Oui Willy je vais posté le script avec l'url rewrit. Share this post : post Share on other sites
Posted 8 Jun 2007 · Report post Il faut arreter de vous poser des questions je n'ais plus le temps de travailler ;) Share this post : post Share on other sites
Posted 8 Jun 2007 · Report post j'en ai d'autres et non des monidres ;) Share this post : post Share on other sites
Posted 10 Jun 2007 · Report post j'en ai d'autres et non des monidres ;) en tout cas, je crois que la communauté devrait te remercier sur la meme echelle que tous les contributeurs, car sans tes question, en une semaine, nous n'aurions ni flux rss , ni tags. Je pense pour ma part, que vu le dvp open source effectué ici, c'est dommage que premium soit encore payante, car soit on dvp pour shopping et là faut avancer de tres tres loin, soit on dvp pour premium et là on dvp en open source pour une source payante. ya quand meme un truc bizarre là dedans. Je pense qu'il est temps de mettre un gros coup d'accelerateur à shopping si on ne veux pas que la partie qui emmene le plus de personnes sur ce forum (la partie gratuite) ne s'amenuise et fasse mourir shopping avant l'heure. YA DU BOULOT !! Share this post : post Share on other sites
Posted 10 Jun 2007 · Report post suis d'accord avec ton idée générale, mais shopping reste le produit d'appel de peel Share this post : post Share on other sites
Posted 10 Jun 2007 · Report post Justement paulanna, c'est pour cela que shopping doit posseder une base plus large. Que premium soit multilingue et shopping non, ok Que premium gère mieux les meta; ok Que shopping ne gère pas, enfin mis à part grace à notre dev, le stock, pas d'accord. Que shopping ne gère pas le multi-taille et autre ... pas d'accord. On gagnerait bcp pour notre webgiciel de shopping, peel, si les deux parties étaient assemblée et que les devs servent à tous. Surtout ceux fait par les forumeurs. Share this post : post Share on other sites
Posted 22 Jun 2007 · Report post Bonjour, serait-il possible de mettre le code final pour le rss + rewrite ici merci a vous Share this post : post Share on other sites
Posted 26 Jun 2007 · Report post Alors dans rewrite.php j'ai ajouter la fonction suivante : function rss_link($id, $cat){ global $wwwroot; $link = ""; if($id != 0){ // Produits $sql_prod_query = mysql_query("SELECT peel_produits.nom_".$_SESSION['langue']." as nom FROM peel_produits WHERE peel_produits.id='".$id."'"); $result_prod = mysql_fetch_array($sql_prod_query); $chaine = mrpropre($result_prod['nom']) . "-" . $id; } //Categories $sql_cat_query = mysql_query("SELECT peel_categories.nom_".$_SESSION['langue']." as nom FROM peel_categories WHERE peel_categories.id='".$cat."'"); $result_cat = mysql_fetch_array($sql_cat_query); $chaine2 = mrpropre($result_cat['nom']); $chaine3 = mrpropre($result_cat['nom'])."-".$cat; //Rubriques if($id == 0){ // on est dans une catego $link = "<link>" .$wwwroot ."/cat-".$chaine3.".html</link>"; } if($id != 0){ $link = "<guid>" .$wwwroot ."/".$chaine2."-".$cat."/".$chaine.".html</guid>"; } else { $link = "<guid>" .$wwwroot ."/cat-".$chaine3.".html</guid>"; } return ($link); }[/codebox] Et re-voici le fichier rss.php que j'ai modifié pour affiché en RSS les dereniére mise à jours dans la boutique : [codebox]<? /* RSS 3DVF / PEEL */ include("configuration.inc.php"); Header("content-type: application/xml"); // En-tête echo "<"."?xml version=\"1.0\" encoding=\"ISO-8859-1\"?"."> <rss version=\"2.0\"> <channel> <title>Flux RSS 3DVF.fr</title> <link>http://www.3dvf.fr</link> <description> Quoi de neuf sur 3dvf.fr ?</description> "; // Récupération et affichage des données $sql = "SELECT id,nom_fr,date_maj,descriptif_fr FROM peel_produits WHERE on_new = '1' AND etat = '1' LIMIT 10"; $result=mysql_query($sql) or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); while($prod=mysql_fetch_array($result)) { $id_rss = $prod['id']; $nom_rss = $prod['nom_fr']; $date_rss = $prod['date_maj']; $desc_rss = stripslashes( $prod['descriptif_fr']); $date = strtotime($date_rss); $sql2 = mysql_query("SELECT categorie_id FROM peel_produits_categories WHERE produit_id = '$id_rss' "); $cat = mysql_fetch_array($sql2); //$url_rss = href_link($id_rss, $cat['categorie_id']); echo "<item> <title>".$nom_rss."</title> ".rss_link($id_rss, $cat['categorie_id'])." <pubDate>".gmdate('D, d M Y H:i:s',$date)." GMT</pubDate> <description>".$desc_rss."</description> </item> "; } // Fin d'affichage echo "</channel> </rss> "; ?> Share this post : post Share on other sites
Posted 13 Jul 2007 · Report post Votre developpement pout le flux rss pourrait-il prendre en compte de la musique ? Share this post : post Share on other sites
Posted 13 Jul 2007 · Report post Votre developpement pout le flux rss pourrait-il prendre en compte de la musique ? Il puises les infos en base de donnée donc normalement aucun soucis. Share this post : post Share on other sites
Posted 19 Sep 2007 · Report post Bonjour, J'ai installé récemment sur un site oscommerce un flux rss avec création d'un fichier xml dans un dossier /feeds/ pour l'import sur www.edgeio.com grâce à une contrib. J'ai essayé de modifier le fichier rss_edgeio.php de la contrib de base pour l'adapter a peel, pour pouvoir exporter mon catalogue sur www.edgeio.com. J'ai cette erreur Fatal error: Maximum execution time of 30 seconds exceeded si quelqu'un peut jeter un oeil sur mon fichier rss_edgeio.php me dire la ou j'ai des erreurs : <? /* RSS 3DVF / PEEL */ include("configuration.inc.php"); Header("content-type: application/xml"); // En-tête echo "<"."?xml version=\"1.0\" encoding=\"ISO-8859-1\"?"."> <rss version=\"2.0\"> <channel> <title>monsite</title> <link>http://www.monsite.fr</link> <description>Catalogue de </description> "; $edgeio=true; //enable edge io $dryrun=true; //whether or not execute actual upload to both or stop at file generation $limit=' LIMIT 10'; //nice to limit number of posts for debug delete for production //CHANGE PARAMETERS BELOW/// $feedDirectory = "../feeds/"; //"CHANGEME-full-path-to-file-with-777-dir-and-file-permissions.yahoo-outfile.txt"; $fileEdgeio="edgeio_feed.xml"; $feedTitle=''; //Feed Title i.e. My Company Feed $feedDescription=' '; //Feed Title i.e. My Company Name $siteUrl=''; //Your site URL i.e. [url="http://www.mysite.com"]http://www.mysite.com[/url] Site URL $feedUrl=''; //URL to $OutFile i.e. [url="http://www.mysite.com/feeds/"]http://www.mysite.com/feeds/[/url] $imageUrl = ''; //Base URL for images i.e. [url="http://www.mysite.com/images/"]http://www.mysite.com/images/[/url] $productUrl = ''; //Base url for products i.e. [url="http://www.mysite.com/product_info.php?products_id="]http://www.mysite.com/product_info.php?products_id=[/url] $language='en-us'; $currency='USD'; //ISO Currency code i.e. GBP, EUR $locationCity='City'; //location of the producti.e. New York $locationState='State'; //State i.e. CA $locationZip='ZIP'; //ZIP $locationCountry='USA';//COUNTRY $ttl=60; //Time to expiration in days minimum 30 max 90 $paymentAccepted=array('Cash','Visa','MasterCard','AmericanExpress'); // these values should be the same as on google base xml feed spec $locationAddress='Your Street Address, City,State,Zip'; //*********************** // This query is required if you want to use categories names as search and grouping tags in EDGEIO.COM serach engine //select categories, the categories names will be used as tags and keywords for listings $result="SELECT * FROM peel_categories c, peel_categories_description_fr cd WHERE c.peel_categories_id = cd.peel_categories_id "; $categories=array(); while($row = $result){ $categories[$row['peel_categories_id']]['name']=htmlspecialchars($row['peel_categories_nom_fr']); $categories[$row['peel_categories_id']]['parent']=$row['peel_categories_parent_id']; } $categorytag=array(); //now find path from this category to its parent and then to root so their names can be used as tags foreach($categories as $key=>$value){ $end=0; $tags=array($value['name']); $nextid=$value['parent']; do{ if($nextid!=0){ array_push($tags,$categories[$nextid]['name']); $nextid=$categories[$nextid]['parent']; }else{ $end=1; } }while($end!=1); $categorytag[$key]=$tags; } //****************************************************** //Retrieve all product/products_description information feel free to change this $result="select * from peel_produits p and p.peel_produits_on_stock>0 and p.peel_produits_etat=1 " . $limit; if($edgeio){ /******************** BUILD EDGEIO FILE ********************/ $output='<?xml version="1.0" encoding="ISO-8859-1" ?>'."\n"; $output.='<rss version="2.0" xmlns:edgeio="http://www.edgeio.com/api/v1">'."\n"; $output.='<channel>'."\n"; $output.='<title>'.$feedTitle.'</title>'."\n"; $output.='<link>'.$siteUrl.'</link>'."\n"; $output.='<feed>'.$feedUrl.$fileEdgeio.'</feed>'."\n"; $output.='<language>'.$language.'</language>'."\n"; $output.='<pubDate>'.date("r").'</pubDate>'."\n"; $output.='<lastBuildDate>'.date("r").'</lastBuildDate>'."\n"; $output.='<docs>http://blogs.law.harvard.edu/tech/rss</docs>'."\n"; $output.='<generator>Edgeio publishing script for oSCommerce 1.2</generator>'."\n"; while($row = tep_db_fetch_array($result)){ $output.=' <item>'."\n"; $output.=' <guid>'.$productUrl . $row['peel_produits_id'].'</guid>'."\n"; $output.=' <pubDate>'.date("r").'</pubDate>'."\n"; $output.=' <title>'.xmlentities(strip_tags($row['peel_produits_nom_fr']). " - " . $row['']) .'</title>'."\n"; $output.=' <link>'.$productUrl . $row['peel_produits_id'] .'</link>'."\n"; $output.=' <description>'.xmlentities(strip_tags($row['peel_produits_description_fr']))."\n"; $output.=' <![CDATA['."\n"; $output.=' <img src="'.$imageUrl . $row['peel_produits_image2'] . '" />'."\n" ; $output.=' <span class="price">'.$currency.' '.number_format($row['peel_produits_prix'], 2, '.', '').'</span>'."\n"; $output.=' <abbr class="dtexpired" title="'.get_iso_8601_date(time() + ($ttl * 24 * 60 * 60)).'">'.date("F j, Y",strtotime("+".$ttl." day")).'</abbr>'."\n"; $output.=' ]]>'."\n"; $output.=' </description>'."\n"; $output.=' <category>listing</category>'."\n"; $output.=' <category>for sale</category>'."\n"; $output.=' <category>city:'.xmlentities($locationCity).'</category>'."\n"; $output.=' <category>state:'.xmlentities($locationState).'</category>'."\n"; $output.=' <category>zip:'.xmlentities($locationZip).'</category>'."\n"; $output.=' <category>country:'.xmlentities($locationCountry).'</category>'."\n"; if(isset($categorytag[$row['categories_id']])){ foreach($categorytag[$row['categories_id']] as $key=>$value){ $output.=' <category>'.xmlentities($value).'</category>'."\n"; } } $output.=' </item>'."\n"; } $output.='</channel>'."\n"; $output.='</rss>'."\n"; if ( file_exists( $feedDirectory.$fileEdgeio ) ) unlink($feedDirectory.$fileEdgeio ); $fp = fopen($feedDirectory.$fileEdgeio , "w" ); $fout = fwrite($fp , $output ); fclose( $fp ); if(!$dryrun){ echo sendPing($feedTitle,$siteUrl,$feedUrl.$fileEdgeio); } echo '<p><a href="'.$feedUrl.$fileEdgeio.'">Edgeio File</a><p>'; } //--EDGEIO.COM --CLASS CODE DO NOT CHANGE CODE BELOW THIS LINE--// function sendPing($name="", $url="", $rss="") { $fp = fsockopen("www.edgeio.com", 80, &$errnum, &$errstr); if(!$fp) { return "$errstr ($errnum)<br>\n"; } if ($rss != "") { $method = "weblogUpdates.extendedPing"; } else { $method = "weblogUpdates.ping"; } $xml = "<?xml version=\"1.0\"?><methodCall><methodName>" .$method . "</methodName><params><param><value>$name</value></param><param><value>".htmlspecialchars(canonical_url($url))."</value></param>"; if ($rss != "") $xml .= "<param><value>foo</value></param><param><value>".htmlspecialchars(canonical_url($rss))."</value></param>"; $xml .= "</params></methodCall>"; $len = strlen($xml); fputs($fp,"POST /RPC2 HTTP/1.0\r\n"); fputs($fp,"Content-Type: text/xml\r\n"); fputs($fp,"Content-length: $len\n\n"); fputs($fp,$xml); $output=""; while(!feof($fp)) $output.=fgets($fp,4096); fclose($fp); return $output; } function canonical_url($url) { $url = trim($url); if (substr($url,0,7)!="http://") $url = "http://".$url; $u = @parse_url($url); if (!$u) return ""; if (!$u['path'] && !$u['query'] && !$u['fragment']) $url .= "/"; return $url; } function get_iso_8601_date($int_date) { //$int_date: current date in UNIX timestamp $date_mod = date('Y-m-d\TH:i:s', $int_date); $pre_timezone = date('O', $int_date); $time_zone = substr($pre_timezone, 0, 3).":".substr($pre_timezone, 3, 2); $date_mod .= $time_zone; return $date_mod; } function xmlentities($string) { return str_replace ( array ( '&', '"', "'", '<', '>', '?' ), array ( '&' , '"', ''' , '<' , '>', ''' ), $string ); } ?> [/codebox] Merci d'avance à ceux qui pourront m'aider. Share this post : post Share on other sites
Posted 19 Sep 2007 · Report post je pense que tu dois avoir des boucles (ou qu'une seule) sans intérruption(s) Share this post : post Share on other sites
Posted 5 Oct 2007 · Report post J'ai installé le flux rss de 3DVF, merci d'ailleurs à lui, je voudrais l'améliorer un peux notamment en insérant le visuel du produit et pourquoi pas aussi le prix et sa description. J'ai essayé pour inserer l'image le code suivant. // Récupération et affichage des données $sql = "SELECT id,nom_fr,date_maj,descriptif_fr,image1 FROM peel_produits WHERE on_new = '1' AND etat = '1' LIMIT 10"; $result=mysql_query($sql) or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); while($prod=mysql_fetch_array($result)) { $id_rss = $prod['id']; $nom_rss = $prod['nom_fr']; $date_rss = $prod['date_maj']; $image1_rss = img src='".$repertoire_upload."/".$prod['image1']."'; $desc_rss = stripslashes( $prod['descriptif_fr']); $date = strtotime($date_rss); $sql2 = mysql_query("SELECT categorie_id FROM peel_produits_categories WHERE produit_id = '$id_rss' "); $cat = mysql_fetch_array($sql2); //$url_rss = href_link($id_rss, $cat['categorie_id']); echo "<item> <title>".$nom_rss."</title> ".rss_link($id_rss, $cat['categorie_id'])." <pubDate>".gmdate('D, d M Y H:i:s',$date)." GMT</pubDate> <description>".$desc_rss."</description> </item> "; } // Fin d'affichage echo "</channel> </rss> "; ?>[/codebox] Mais ca ne marche pas, si quelqu'un peux m'aider svp Share this post : post Share on other sites