Empêcher que le sondage ne disparaîsse après avoir voté sous Magento

Dans: Magento

9 juil 2009

Sous Magento lorsqu’un utilisateur vote dans un sondage (et que celui-ci est configuré pour qu’il n’y est qu’un vote par adresse IP), celui-ci affiche les résutats du sondage. Cependant, quand on change de page, il disparaît.

Le problème survient quand certain design de site n’ont que le sondage dans une des sidebars. Sans celui-ci nous avons un espace vide à la place.

Pour faire en sorte que les résultats du sondage reste après avoir voté, il faut aller modifier un fichier dans le « core » de Magento.

Mise en garde :

A chaque mise à jour de Magento, les fichiers du « core » sont écrasés par les nouveaux fichiers.

Si une modification a besoin d’être effectuée, il faut pour cela dupliquer le fichier voulu dans le « local » de Magento. Le principe est le même que les templates. Si Magento ne trouve pas les fichiers voulus dans le « local », il va les chercher dans le « core »

  1. Copiez le fichier « app/code/core/Mage/Poll/Block/ActivePoll.php » dans le dossier « /app/code/local/Mage/Poll/Block/ »
  2. Ouvrez votre fichier ActivePoll.php (dans local/Mage/Poll/Block …)
  3. Commentez la ligne $votedIds = $pollModel->getVotedPollsIds();
  4. Ajouter une ligne en dessous : $votedIds = array();

Cela donne ceci :

$pollModel = Mage::getModel('poll/poll');
// get last voted poll (from session only)
$pollId = Mage::getSingleton('core/session')->getJustVotedPoll();
if (empty($pollId)) {
	// get random not voted yet poll
	//$votedIds = $pollModel->getVotedPollsIds();
	$votedIds = array();
	$pollId = $pollModel->setExcludeFilter($votedIds)
						->setStoreFilter(Mage::app()->getStore()->getId())
						->getRandomId();
}
if (empty($pollId)) {
	return false;
}
$poll = $pollModel->load($pollId); 

Via

Formulaire pour Commenter

Si vous en avez besoin, entourez votre code :

PHP : [php]echo $variable[/php]
XML : [xml]<default></default>[/xml]

Je m'appelle Frédéric Martinez.

Je suis Freelance Magento, fondateur de l'agence web e-commerce PH2M et anciennement étudiant en Master MIAGE à Toulouse.

Ce site présente mes réalisations professionnelles, personnelles et universitaires.

Magento Certified Developer Plus

rss_32 twitter_32 Magento

  • Vincent MARMIESSE: Bonjour, Attention depuis Magento 1.9.2.0, les blocs CMS sont en cache ! Cela ne pose pas de pro [...]
  • Java2dev: Bonjour, pour l'Etape 1 a quel niveau on met les codes? dans quel folder et c'est un fichier a edit [...]
  • manuel: Bonjour Frédéric, j'aimerais savoir comment enlever l'option de ( signature obligatoire ) de mon m [...]
  • Arsene: Bonjour a tous, j'aimerais savoir comment créer un module qui propose des options d'assurance su [...]
  • Frédéric Martinez: @Thomas : Il y aura toujours de la perte sur les personnes ne retournant pas sur la page de success. [...]