Flux RSS

8 posts in this topic

Posted · Report post

Bonjour,

J'ai activé le module flux RSS sur la version 6.3, mais aucune icône ne s'affiche sur le site, et je ne sais pas quel est l'url du flux.

Merci si vous pouvez m'aider.

Share this post


: post
Share on other sites

Posted (edited) · Report post

Bonjour,

Lors de l'activation du module, le lien vers le flux RSS doit apparaitre dans le footer. Vous pouvez vérifier que le morceau de code ci-dessous se trouve bien dans la fonction affiche_footer de votre site :

        if (is_module_rss_active()) {
            $output .= '<li>' . affiche_rss(true) . '</li>';
        }

Le lien vers la page rss est http://ww.votredomaine.fr/modules/rss/rss.php

Edited by Simon développeur PEEL

Share this post


: post
Share on other sites

Posted · Report post

Merci. A présent l'icone apparait, mais si je clique dessus, Firefox lance une fenêtre pour télécharger le fichier rss.php. Je pensais que le lien me dirigerait vers une liste rss. Ou j'ai mal compris ?

Share this post


: post
Share on other sites

Posted (edited) · Report post

annulé

Edited by xeon

Share this post


: post
Share on other sites

Posted · Report post

J'ai une piste. Le rss fonctionne pour un des deux répertoires de ma multi-boutique. Il fonctionne pour le site1 mais pas pour le site2. Pourtant le lien du fichier qui crée le rss devrait bien tenir compte de la variable wwwroot ? Elle est correctement renseignée dans chacun des deux répertoires. C'est bizarre.

Share this post


: post
Share on other sites

Posted · Report post

Pour comprendre l'origine de l'erreur, vous pouvez télécharger le fichier qui est proposé en téléchargement et l'ouvrir. Il contient peut-être des informations sur l'origine de l'erreur.

Share this post


: post
Share on other sites

Posted (edited) · Report post

C'est le fichier rss.php, qui au lieu de s'ouvrir en http, se lance en téléchargement de fichier.

J'ai remplacé les deux fichiers du module par une version propre et rien ne change.

fonctions.php contient

if (!defined('IN_PEEL')) {
    die();
}
/**
 * affiche_rss()
 *
 * @param mixed $return_mode
 * @return
 */
function affiche_rss($return_mode = false)
{
        $output = ' <div class="rss_bloc">';
        if (!empty($GLOBALS['site_parameters']['facebook_page_link'])) {
            $output = '    
                        <a style="margin-right:5px;" href="' . $GLOBALS['site_parameters']['facebook_page_link'] . '" onclick="return(window.open(this.href)?false:true);"><img src="' . $GLOBALS['wwwroot'] . '/icones/facebook.png"  alt="facebook" title="facebook" /></a>';
        }
        $output = '            
                        <a href="' . $GLOBALS['wwwroot'] . '/rss.php?critere=on_promo" onclick="return(window.open(this.href)?false:true);"><img src="' . $GLOBALS['wwwroot'] . '/icones/rss.png" alt="rss" style="vertical-align:top;" title="RSS" /></a>
                    </div>';
    if ($return_mode) {
        return $output;
    } else {
        echo $output;
    }
}
?>

 

et rss.php

<?php

include("../../configuration.inc.php");

if (!is_module_rss_active()) {
    // This module is not activated => we redirect to the homepage
    redirect_and_die($GLOBALS['wwwroot'] . "/");
}
if(!empty($_GET['encoding'])){
    $page_encoding=$_GET['encoding'];
}else{
    $page_encoding='utf-8';
}
if(empty($_GET['limit'])){
    $limit=10;
}else{
    $limit=min(intval($_GET['limit']), 500);
}
if(!empty($_GET['cat'])){
    $cat=intval($_GET['cat']);
}
header('Content-type: application/rss+xml; charset='.$page_encoding);
// En-tête
$output = '<' . '?xml version="1.0" encoding="' . $page_encoding . '"?' . '>
<rss version="2.0">
<channel>
<title>' . RSS_TITLE . '</title>
<link>' . $GLOBALS['wwwroot'] . '</link>
<description>' . RSS_DESCRIPTION . '</description>
';

// Récupération et affichage des données

$sql = "SELECT p.id, p.prix, p.tva, p.nom_" . $_SESSION['session_langue'] . " AS nom, p.date_maj, p.description_" . $_SESSION['session_langue'] . " AS description, p.promotion, c.id AS categorie_id, c.nom_" . $_SESSION['session_langue'] . " AS categorie
    FROM peel_produits p
    INNER JOIN peel_produits_categories pc ON p.id = pc.produit_id
    INNER JOIN peel_categories c ON c.id = pc.categorie_id
    WHERE p.etat='1' ".(!empty($cat)?" AND pc.categorie_id='".intval($cat)."'":"")."
    GROUP BY p.id
    LIMIT ".intval($limit);
$result = query($sql);
while ($prod = fetch_assoc($result)) {
    $product_object = new Product($prod['id'], $prod, false, null, true, !is_micro_entreprise_module_active());
    $desc_rss = trim(str_replace(array("    ", "   ", "  ", " \r", " \n", "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "\r\n\r\n\r\n", "\r\n\r\n", "\n\n\n\n\n\n", "\n\n\n", "\n\n"), array(" ", " ", " ", "\r", "\n", "\r\n", "\r\n", "\r\n", "\n", "\n", "\n"), strip_tags(String::html_entity_decode_if_needed(String::htmlspecialchars_decode($product_object->description, ENT_QUOTES)))));
    $promotion_rss = $product_object->get_all_promotions_percentage(false, 0, true);
    $output .= '<item>
<title>' . strip_tags($product_object->name .  BEFORE_TWO_POINTS . ': ' . $product_object->get_final_price(0, display_prices_with_taxes_active(), is_reseller_module_active() && is_reseller(), true)) . '</title>
' . ($promotion_rss > 0 ? '<promotion>- ' . $promotion_rss . '</promotion>
' : '') . '<guid>' . $product_object->get_product_url() . '</guid>
<pubDate>' . gmdate('D, d M Y H:i:s', strtotime($product_object->date_maj)) . ' GMT</pubDate>
<description>' . String::str_shorten($desc_rss, 1000, '', '...') . '</description>
</item>
';
    unset($product_object);
}

// Fin d'affichage
$output .= '</channel>
</rss>
';

 

$output = str_replace(array('&euro;', '&'), array('EUR', '&amp;'), $output);
echo String::convert_encoding($output, $page_encoding, GENERAL_ENCODING);
?>

 

Edited by xeon

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Pour étudier le problème plus en détail, nous devons intervenir dans le code de votre site pour investiguer, et faire des tests. Cela nécessite de passer du temps sur ce sujet, ce que nous pouvons faire dans un contexte commercial uniquement. Donc si vous le souhaitez, nous pouvons nous occuper de ce problème, il faut dans ce cas prendre contact avec le service commercial au 0175436797.

Share this post


: post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

Twitter Advisto ecommerce

Facebook PEEL Shopping