fluxRSS

41 messages dans ce sujet

Posté(e) · Signaler ce message

je l'ai aidé un petit peu quand meme...

:D

yes c'est vrai :D

et tu valide ce code alors ? ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je vais modifier pour la validité RSS, mais pas avec l'urlrewrit parce que tous le monde n'a pas le module.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Ou bien publie les 2 codes en disant avec ou sans réécriture, car a chaque fois on lutte pour trouver les bonnes versions

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Il faut arreter de vous poser des questions je n'ais plus le temps de travailler ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

j'en ai d'autres et non des monidres ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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 !!

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

suis d'accord avec ton idée générale, mais shopping reste le produit d'appel de peel

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

serait-il possible de mettre le code final pour le rss + rewrite ici

merci a vous

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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&eacute;cup&eacute;ration et affichage des donn&eacute;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 &agrave; 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>
";
?>

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Votre developpement pout le flux rss pourrait-il prendre en compte de la musique ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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 ( '&' , '"', '&apos;' , '<' , '>', '&apos;' ), $string );
}
?>
[/codebox]

Merci d'avance à ceux qui pourront m'aider.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

je pense que tu dois avoir des boucles (ou qu'une seule) sans intérruption(s)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping