Jump to content

[Module natif] RSS Produit : absence de mise à jour


Recommended Posts

Bonjour,

Depuis mi-avril j'ai un souci avec le module natif "Flux RSS de produits" qui ne se met plus à jour. Il est resté bloqué sur une Catégorie de produits affichée dans le module "Produits phares" à une date donnée. Et même les ajouts à cette Catégorie ne changent rien.

Je ne sais pas si le souci est au niveau de ps_rssfeed.tpl :

<div class="block-contact col-md-2 links wrapper">
  <h3 class="h3 hidden-sm-down">{$title}</h3>
  <div>
    {if $rss_links}
      <ul>
        {foreach from=$rss_links item='rss_link'}
          <li><a href="{$rss_link['link']}" title="{$rss_link['title']}" target="_blank">{$rss_link['title']}</a></li>
        {/foreach}
      </ul>
    {else}
      <p>{l s='No RSS feed added' d='Shop.Theme.Catalog'}</p>
    {/if}
  </div>
</div>

...ou ps_feeder.php :

if (!defined('_PS_VERSION_')) {
    exit;
}

class Ps_Feeder extends Module
{
    private $templateFile;

    public function __construct()
    {
        $this->name = 'ps_feeder';
        $this->author = 'PrestaShop';
        $this->version = '1.0.1';
        $this->need_instance = 0;

        $this->controllers = array('rss');

        $this->ps_versions_compliancy = array(
            'min' => '1.7.0.0',
            'max' => _PS_VERSION_,
        );

        parent::__construct();

        $this->displayName = $this->trans('RSS products feed', array(), 'Modules.Feeder.Admin');
        $this->description = $this->trans('Generate a RSS feed for your latest products.', array(), 'Modules.Feeder.Admin');

        $this->templateFile = 'module:ps_feeder/views/template/hook/ps_feeder.tpl';
    }

    public function install()
    {
        return parent::install()
            && $this->registerHook('displayHeader');
    }

    public function getWidgetVariables()
    {
        $regex = '!^(.*)\/([0-9]+)\-(.*[^\.])|(.*)id_category=([0-9]+)(.*)$!';

        if (!($id_category = (int)Tools::getValue('id_category'))) {
            if (isset($_SERVER['HTTP_REFERER'])
                && strstr($_SERVER['HTTP_REFERER'], Tools::getHttpHost())
                && preg_match($regex, $_SERVER['HTTP_REFERER'], $regs)) {
                if (isset($regs[2]) && is_numeric($regs[2])) {
                    $id_category = (int)($regs[2]);
                } elseif (isset($regs[5]) && is_numeric($regs[5])) {
                    $id_category = (int)$regs[5];
                }
            } elseif ($id_product = (int)Tools::getValue('id_product')) {
                $product = new Product($id_product);
                $id_category = $product->id_category_default;
            }
        }

        $orderBy = Tools::getProductsOrder('by', Tools::getValue('orderby'));
        $orderWay = Tools::getProductsOrder('way', Tools::getValue('orderway'));

        return array(
            'id_category' => $id_category,
            'orderBy' => $orderBy,
            'orderWay' => $orderWay,
        );
    }

    public function hookDisplayHeader()
    {
        $this->smarty->assign($this->getWidgetVariables());

        return $this->fetch($this->templateFile);
    }
}

Idéalement, il va piocher dans la Catégorie "2-accueil", comme chez tout le monde.
J'ai tenté de vider le cache, se passer en "randomize"...

Est-ce que quelqu'un a une idée ?

Link to comment
Share on other sites

  • 1 month later...

Le problème persiste 😓

Chose intéressante : quand je clique le lien "Tous les produits", que j'ai configuré pour afficher la catégorie "2-accueil" uniquement (voir ci-dessous), il m'affiche TOUS les produits, même ceux qui ne sont pas dans la catégorie Accueil.

La page d'accueil : https://boutique.idjy.fr/fr/
Le Feed : https://boutique.idjy.fr/module/ps_feeder/rss
ps_featuredproducts.tpl :

<section class="featured-products clearfix">
  <h1 class="h1 products-section-title text-uppercase">
    {l s='Popular Products' d='Shop.Theme.Catalog'}
  </h1>
  <div class="products">
    {foreach from=$products item="product"}
      {include file="catalog/_partials/miniatures/product.tpl" product=$product}
    {/foreach}
  </div>
  <a class="all-product-link float-xs-left float-md-right h4" href="https://boutique.idjy.fr/index.php?id_category=2&controller=category">
    {l s='All products' d='Shop.Theme.Catalog'}<i class="material-icons">&#xE315;</i>
  </a>
</section>

Est-ce que quelqu'un a une ampoule qui s'allume dans son cerveau ?
 

Link to comment
Share on other sites

  • 3 months later...

#EtOnContinue

Je repère ici qu'il y aurait un changement d'URL pour la 1.7.7 :

Je suis en 1.7.5... donc non le RSS ne se met pas plus à jour.

Chose amusante : j'ai changé l'URL d'un ancien produit et il est maintenant dans le RSS. Pas le nouveau produit créé par contre.

...et je découvre que le fichier à modifier est /controllers/front/rss.php

Ô Devs Tout Puissants,
Pourriez-vous mettre un stagiaire à la rédaction d'une mage d'aide dédiée à ce module ?
Merci bizoux coeur

Edited by idjy (see edit history)
Link to comment
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
×
×
  • Create New...