[Résolu] Comment vider automatiquement le panier Cart2 ? - 
adrienj -  16/02/2017
Bonjour,
Comment vider le panier Cart2 de la suite commerce de CMSMS sans que l'internaute ne clique sur un bouton "Vider le panier" ?
J'ai trouvé une 
réponse qui date de 2010 sur le forum de cmsmadesimple.org avec le tag {session_erase var='cgcart'}, mais ça ne marche pas.
Sinon, je vois qu'il y a une fonction prévue pour ça dans /module/Cart2/Cart2.module.php
Code :
[== PHP ==]
  public function EraseCart($adddata = '')
  {
    if( isset($_SESSION[$this->_key]) ) {
      cg_ecomm_cart::on_cart_adjusted('before',$adddata);
      unset($_SESSION[$this->_key]);
      $this->_items = array();
      $this->_calculated = 0;
      cg_ecomm_cart::on_cart_adjusted('after',$adddata);
    }
  }
Mais je ne sais pas comment l'appeler depuis un gabarit Smarty. J'ai essayé {$Cart2->EraseCart()} mais ça me donne :
Fatal error: Call to a member function EraseCart() on null in /home/adrien/test/lib/smarty/sysplugins/smarty_internal_templatebase.php(165) : eval()'d code on line 163
Est-ce possible d'appeler une fonction d'un module depuis un gabarit Smarty ?
[Résolu] Comment vider automatiquement le panier Cart2 ? - 
adrienj -  17/02/2017
Bon, j'aurais bien aimé pouvoir effacer le panier du client depuis Smarty avec une simple balise du genre {cart2_smarty::EraseCart()} comme on peut le faire avec FEU, mais ça ne semble pas prévu.
J'ai donc résolu mon problème avec une UDT que j'ai appelé {empty_cart} :
Code :
[== PHP ==]
## UDT empty_cart pour CMSMS 2.x
$gCms = CmsApp::get_instance();
$Panier = $gCms->GetModuleInstance('Cart2');
$Panier->EraseCart();
 
[Résolu] Comment vider automatiquement le panier Cart2 ? - 
airelibre -  23/02/2017
Bonjour,
désolé pour la réponse tardive, mais as-tu tenté : 
Code :
{cgecomm_erasecart}
 ?
Regarde la doc de CGEcommerceBase pour cela.
Bonne continuation !
[Résolu] Comment vider automatiquement le panier Cart2 ? - 
adrienj -  23/02/2017
Aaahhhh, je n'avais pas pensé à regarder du côté de CGEcommerceBase.
Il me semblait qu'il devait y avoir un truc plus simple qu'une UDT pour cette action basique.
J'ai testé, ça marche.
Merci !