Problème de rafraîchissement sur Ajouter au panier

  • Posts: 30
  • Thank you received: 0
10 years 1 week ago #151483

-- HikaShop version -- : 2.3 starter
-- Joomla version -- : 2.5.9
-- PHP version -- : PHP 5.4 (corrigé)

Bonjour,

J'ai un problème sur ma page produit lorsque je veux ajouter un produit à mon panier, la page ne se rafraîchit pas. Uniquement le module panier "Mini cart" se met à jour directement mais le module panier affichant le détail du produit avec le prix et me donnant la possibilité de terminer ma commande ne se met pas à jour directement, il faut rafraîchir la page pour que le produit ajouté apparaisse.

En cherchant sur le forum et FAQ j'ai trouvé des topics abordant ce sujet.


Celui étant en anglais, je me permets donc de créer un nouveau topic en français puisque je ne peux résoudre le problème comme l'utilisateur du sujet précédent.

J'ai donc tout mes paramètres de cache désactivé, ainsi que l'utilisation AJAX pour ajouter au panier sur NON, comme indiqué sur le FAQ et sur les différents topic évoquant ce sujet.
L'utilisateur du topic cité plus haut avait réussi à parer ce problème de cette façon mais sur mon site le problème reste présent.

J'ai cependant remarqué en cherchant que ce problème disparaissait et que donc la page se rafraîchissait lorsque je clique sur Ajouter au panier, quand je choisis l'affichage "list" et non "div" pour lister mes produits. Ceci n'a pas été exposé sur les topics que j'ai lu.
Je préfère utiliser l'affichage Div pour afficher les photos des produits dans la liste.

Y a-t-il eu de nouvelles recherches sur ce bug depuis?

Merci beaucoup de votre aide.

Vincent.

Last edit: 10 years 4 days ago by Vinc .

Please Log in or Create an account to join the conversation.

  • Posts: 12953
  • Thank you received: 1778
10 years 1 week ago #151536

Bonjour Vincent,
Pouvez vous modifier la valeur de l'option "Use AJAX when possible for add to cart buttons" via la page "Hikashop->System->Configuration->Main" et tester cela de nouveau ?
Aussi, Pouvez vous me dire si vous avez effectué des modification via certains fichiers de la vue "produit" via "Hikashop->Display->Views".

Please Log in or Create an account to join the conversation.

  • Posts: 30
  • Thank you received: 0
10 years 1 week ago #151638

Je ne suis pas sûr de comprendre ce que vous voulez dire pour la valeur. Mais j'ai cliqué sur YES pour le choix de "Use AJAX when possible for add to cart buttons" et cela ne change rien au problème malheureusement. Je n'observe aucun changement.

Je n'ai pas fait de modifications de fichier de la vue "produit" via "Hikashop->Display->Views".

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
10 years 1 week ago #151707

Bonjour,

Je vois que votre version PHP est la 4.x, cette version n'est plus supportée par HikaShop et peut potentiellement être à l'origine de votre problème.
Merci de voir pour mettre une version plus récente de PHP, à partir de PHP 5

Please Log in or Create an account to join the conversation.

  • Posts: 30
  • Thank you received: 0
10 years 1 week ago #151827

J'ai justement acheté un template que vous proposez sur votre site de façon à éviter ces problèmes ne sachant pas réaliser moi même le template. Le template est le suivant : websitetemplate 1301

Ce template a du être fait il y a longtemps, mais je trouve ça étonnant que cela soit la source du problème.

Je vais quand même m'adresser au support de websitetemplate.

N'y a-t-il pas d'autre piste pour ce problème?

Please Log in or Create an account to join the conversation.

  • Posts: 26000
  • Thank you received: 4004
  • MODERATOR
10 years 6 days ago #151831

Bonjour,

Nous vous parlons de votre hébergement web (et de sa version de PHP) et non de votre template.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 30
  • Thank you received: 0
10 years 4 days ago #151993

Bonjour,

Ah oui excusez-moi j'ai tout mélangé.

J'ai vérifié ma version php au niveau de l'hébergement web et je suis en version 5.4 (chez ovh hébergement mutualisé créé en 2014).

Malheureusement le problème ne viendrait pas de là.

Vincent.

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
10 years 4 days ago #152110

Bonjour,

Pouvez vous nous fournir un lien vers votre site afin que l'on puisse voir directement le comportement de l'action d'ajout au panier ?

Please Log in or Create an account to join the conversation.

  • Posts: 30
  • Thank you received: 0
10 years 3 days ago #152189

Bonjour,

Voici un lien vers la page de présentation des produits d'une gamme (femme) qui présente le problème. La gamme homme le présente aussi bien sûr. C'est aussi le cas sur le module en bas à gauche "Nouveauté".

Herbal Legend gamme femme

Par contre si l'on se place sur la page de présentation d'un produit le rafraîchissement s’exécute.

Merci pour votre aide.

Last edit: 10 years 3 days ago by Vinc .

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
10 years 3 days ago #152309

Bonjour,

Merci d'éditer la vue "product / quantity" via le menu Display > Views et ajouter la ligne suivant au tout début du fichier:

<?php
$this->ajax =	'if(hikashopCheckChangeForm(\'item\''.$formName.')){ return hikashopModifyQuantity(\'' . (int)@$this->row->product_id . '\',field,1' . $formName . ',\'cart\','.$module_id.'); } else { return false; }';
?>

Please Log in or Create an account to join the conversation.

  • Posts: 30
  • Thank you received: 0
10 years 2 days ago #152347

Bonjour,

J'ai inséré le code que vous m'avez indiqué au tout début du fichier mais malheureusement cela ne résout qu'une partie du problème:

La page se rafraîchit bien après avoir cliqué sur "Ajouter au panier" mais l'ajout du produit n'est pas pris en compte et le panier reste vide.

Je vous met le code tel que je l'ai testé pour être sûr que je ne me suis pas trompé:

Avant insertion du code:

<?php
/**
 * @package    HikaShop for Joomla!
 * @version    1.5.5
 * @author    hikashop.com
 * @copyright  (C) 2010-2011 HIKARI SOFTWARE. All rights reserved.
 * @license    GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?>
<?php
      if(!empty($this->row->has_options)){
        echo $this->cart->displayButton(JText::_('CHOOSE_OPTIONS'),'choose_options',$this->params,hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.$this->itemid),'window.location = \''.hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.$this->itemid).'\';return false;','');
      }else{
        $url = '';
        if(empty($this->ajax)){
          $this->ajax = 'return hikashopModifyQuantity(\''.$this->row->product_id.'\',field,1,0);';
        }
        if($this->row->product_sale_start || empty($this->element->main)){
          $start_date = $this->row->product_sale_start;
        }else{
          $start_date = $this->element->main->product_sale_start;
        }

Après insertion du code :
<?php
/**
 * @package    HikaShop for Joomla!
 * @version    1.5.5
 * @author    hikashop.com
 * @copyright  (C) 2010-2011 HIKARI SOFTWARE. All rights reserved.
 * @license    GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?>
<?php 
$this->ajax = 'if(hikashopCheckChangeForm(\'item\''.$formName.')){ return hikashopModifyQuantity(\'' . (int)@$this->row->product_id . '\',field,1' . $formName . ',\'cart\','.$module_id.'); } else { return false; }'; 
?>
<?php
      if(!empty($this->row->has_options)){
        echo $this->cart->displayButton(JText::_('CHOOSE_OPTIONS'),'choose_options',$this->params,hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.$this->itemid),'window.location = \''.hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.$this->itemid).'\';return false;','');
      }else{
        $url = '';
        if(empty($this->ajax)){
          $this->ajax = 'return hikashopModifyQuantity(\''.$this->row->product_id.'\',field,1,0);';
        }
        if($this->row->product_sale_start || empty($this->element->main)){
          $start_date = $this->row->product_sale_start;
        }else{
          $start_date = $this->element->main->product_sale_start;
        }

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
10 years 2 days ago #152403

Bonjour,

Nous allons essayer de forcer l'option pour ne pas avoir l'ajout au panier en ajax, merci de retirer les modifications données précédemment et éditer la vue "product / add_to_cart_listing" et remplacer :

		if(!$this->config->get('ajax_add_to_cart',0)||!empty($itemFields)){
			$this->ajax = 'if(hikashopCheckChangeForm(\'item\',\'hikashop_product_form_'.$this->row->product_id.'_'.$this->params->get('main_div_name').'\')){ return hikashopModifyQuantity(\''.$this->row->product_id.'\',field,1,\'hikashop_product_form_'.$this->row->product_id.'_'.$this->params->get('main_div_name').'\',\'cart\','.$module_id.'); } return false;';
		}
Par:
			$this->ajax = 'if(hikashopCheckChangeForm(\'item\',\'hikashop_product_form_'.$this->row->product_id.'_'.$this->params->get('main_div_name').'\')){ return hikashopModifyQuantity(\''.$this->row->product_id.'\',field,1,\'hikashop_product_form_'.$this->row->product_id.'_'.$this->params->get('main_div_name').'\',\'cart\','.$module_id.'); } return false;';

Please Log in or Create an account to join the conversation.

  • Posts: 30
  • Thank you received: 0
10 years 2 days ago #152437

Bonjour,

J'ai changé le code que vous m'avez indiqué mais on reste sur le même comportement qu'à l'origine.

Le panier du haut se met à jour sans rechargement de la page mais pas le panier de la colonne de gauche.

Dois-je aussi changer quelque chose dans "configuration" ou le remplacement du code uniquement suffit?

Merci.

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
10 years 1 day ago #152445

Bonjour,

Merci de me fournir un accès backend de votre site afin de débugger le problème directement.
Vous pouvez donner ces informations via message privé, n'oubliez pas un lien vers ce topic.

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
10 years 1 day ago #152530

J'ai l'impression que toutes vos vues ont été éditées, de ce fait vous n'avez pas les dernières versions et c'est ce qui peut poser problème.

Merci de supprimer les overrides, et repartir sur les dernières versions non modifiées.
Dans vos modifications il y a surement du code qui à été enlevé ou modifier ce qui change le comportement lors de l'ajout au panier.

Please Log in or Create an account to join the conversation.

  • Posts: 30
  • Thank you received: 0
9 years 11 months ago #152840

Effectivement la mise à jour à la version starter 2.3 ne s'était pas appliquée au template qui était toujours en 2.1 visiblement.

J'ai changé les vues manuellement et maintenant ça fonctionne même si d'un point de vue graphique la présentation des produits et des boutons sont moins élaborés. J'imagine que ceux qui ont créé le template ont modifié le code de façon à améliorer l'aperçu mais cela a créé des bugs.

Merci pour votre aide précieuse. Je me demande si l'upgrade vers la version Essential risque de faire apparaître d'autres problèmes liés au fait que le template a été créé avec une version Starter ancienne? Que me conseillez-vous?

Please Log in or Create an account to join the conversation.

  • Posts: 81481
  • Thank you received: 13062
  • MODERATOR
9 years 11 months ago #152852

Il n'y a pas de différence entre les vues de la version Essential et les vues de la version Starter. Donc je ne pense pas que ça posera de soucis.

Please Log in or Create an account to join the conversation.

Time to create page: 0.124 seconds
Powered by Kunena Forum