3DVF
Utilisateur open source-
Compteur de contenus
215 -
Inscrit(e) le
-
Dernière visite
Messages posté(e)s par 3DVF
-
-
la il n'ya plus de limite et ça buggue.
En fait au dela de 150 dans le limit y a une erreur et effectivement avec juste l'id il n'y avais pas de soucis...
-
non, cela n'a aucune limitation, le probleme c'est ton & que tu met dans les noms...Non ce n'est pas le & car la j'ai limité a 150 et ça passe, et pourtant il y a des mots avec le &.
EDIT il y a le utf encode actuellement
-
La solution 1 bloque aussi mais pas au meme endroit, et la seconde bloque quasiment des le debut.
EDIT : Alors j'ai fait un limit 20 et la ça passe, donc un xml doit avoir une longueur limité.... c'est plutot embetant.
Faut tester le JSON...
-
ça bloque encore,
-
Et voici l'erreur : http://www.3dvf.fr/autosuggest/test.php
Si je remplace nom_fr par id, ça fonctionne correctement.
-
Bien maintenant essaye avec ca !
<?php
include("../configuration.inc.php");
header('Content-type: text/xml; charset=utf-8');
$query = "SELECT * FROM `peel_produits`";
$result = @mysql_query($query);
if (mysql_num_rows($result) > 0) {
print "<results>";
while ($article = mysql_fetch_array($result)) {
print "<rs id='". $article['id']."' info='". $article['id']."'>". $article['nom_fr']."</rs>";
}
print "</results>";
}
?>[/codebox]Voila le script que j'ai utilisé...
[codebox]<?php
include("../configuration.inc.php");
header('Content-type: text/xml; charset=utf-8');
$query = "SELECT * FROM `peel_produits` WHERE `etat`='1'";
$result = @mysql_query($query);
if (mysql_num_rows($result) > 0) {
echo "<results>";
while ($article = mysql_fetch_array($result)) {
//print "<rs id='". $article['id']."' info='". $article['id']."'>". $article['nom_fr']."</rs>";
echo "<rs id=\"".$article['id']."\" info=\"".$article['id']."\">".$article['nom_fr']."</rs>";
}
print "</results>";
}
?> -
Bon voila ça marche oui et non, oui les info sont bien traduite dans le XML, non car les nom de produit font buggé le XML.
Domage... Bon en fait le XML ce stoppe au bout d'un moment, mais je ne comprend pas pourquoi...
-
essaye avec ca juste pour tester<?php
header('Content-type: text/xml; charset=utf-8');
print "<results>";
print "<rs>";
print "test";
print "</rs>";
print "</results>";
?>
Cet exemple ne génére pas d'erreur.
-
Oui au debut, puis je l'ai modifié, mais j'ai la méme erreur au final :
<?php
include("../configuration.inc.php");
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header ("Pragma: no-cache"); // HTTP/1.0
header("Content-Type: text/xml");
$query = "SELECT * FROM `peel_produits`";
$result = @mysql_query($query);
if (mysql_num_rows($result) > 0) {
echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?><results>";
while ($article = mysql_fetch_array($result)) {
//print "<rs id='". $article['id']."' info='". $article['id']."'>". $article['nom_fr']."</rs>";
echo "<rs id=\"".$article['id']."\" info=\"".$article['id']."\">".$article['nom_fr']."</rs>";
}
print "</results>";
}
?>[/codebox] -
Pour l'instant je n'arrive a rien de bon, le flux xml n'est pas correct visiblement : http://www.3dvf.fr/autosuggest/test.php
-
Bonjour,pensez-vous que l'on peut l'adapter a la table peel_produits afin de recuperer les nom des produits dans auto suggestion et non comme actuellement un fichier XML
http://www.brandspankingnew.net/archive/20...uggest_v2.html
http://www.brandspankingnew.net/specials/a...tocomplete.html
On peux voir ce que tu as deja adpater afin de si pencher un peu?
-
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>
";
?> -
Etonnant depuis l'install du module chez moi, je ne recois plus aucun message avec du spam!!
-
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.
-
Je vais modifier pour la validité RSS, mais pas avec l'urlrewrit parce que tous le monde n'a pas le module.
-
Et ca marche ? ;) :DMets a jour ton code en première page si tu peux.
Willy
C'est en ligne
-
effectivement la ça marche...
Merci une nouvelle fois Willy
EDIT : http://feedvalidator.org/check.cgi?url=htt...vf.fr%2Frss.php
-
Dans rewrite.php j'ai modifié :
if($id != 0){
echo "<link>$wwwroot/".$chaine2."-".$cat."/".$chaine.".html</link>";
} else {
echo "<link>$wwwroot/cat-".$chaine3.".html</link>";
}[/codebox]et dans rss.php
[codebox]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>
"; -
Excellente modif, deja en ligne sur 3DVF.
-
Bon est bien je viens de modifier la fonction que tu site Willy, mais voila le résultat : http://www.3dvf.fr/rss.php
le lien ne ce créer pas corectement, la balise link et placé avant la balise ITEM !!!!
Je ne comprend pas pourquoi!
-
Ce site valide quoi ?Que le code est correcte et qu'il plaira a eric-lavoisier ? ;)
Willy
oui :D
-
Prochaine étape générer la gestion de urlrewrit.
A+
-
Alors pour avoir le flux RSS des nouveautés de votre boutique :
1) Ajouter cette ligne entre les balise <head></head> de la page haut.php
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://monsite.com/rss.php" />
2) Créer la page rss.php a la racine du site :
<?
/* 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 monsite.com ?</description>
";
// Récupération et affichage des données
$sql = "SELECT id,nom_fr,date_maj,descriptif_fr FROM peel_produits WHERE on_promo = '1' AND etat ='1' ";
$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 = $prod['descriptif_fr'];
$date = strtotime($date_rss);
echo "<item>
<title>".$nom_rss."</title>
<guid>".$wwwroot."/achat/produit_details.php?id=".$id_rss."</guid>
<pubDate>".gmdate('D, d M Y H:i:s',$date)." GMT</pubDate>
<description>".$desc_rss."</description>
</item>
";
}
// Fin d'affichage
echo "</channel>
</rss>
";
?>[/codebox]Le tour est joué : http://feedvalidator.org/
A+ Pascal
-
Bon je viens de faire ça : http://www.3dvf.fr/rss.php
Qui fonctionne uniquement sur la rubrique nouveauté de la boutique.
BAh en fait c'est super simple ;)
Est ce que cela correspond a ce que tu voulais?
EDIT : je passe pas la validation RSS a cause de la date, et d'un tag /item!!!
champ de recherche auto-suggestif
dans Module PEEL Premium pour PEEL SHOPPING
Posté(e) · Signaler ce message
Bon tu est un AS, la ça fonctionne.
Reste a régler la pertinence des résultats, car la peux importe les lettres saisi, le formulaire propose tous les résultats.