bouton panier avec nbr et prix

Programmation, discussions et suggestions pour l'amélioration de OpenCart

bouton panier avec nbr et prix

Messagepar plugeplay » 14 Nov 2012, 16:45

Salut à tous,

J'essaye actuellement d'ajouter la partie actualisée du module panier sur le bouton panier de mon menu... (est-ce clair? :geek: )

voici pour l'instant le code de mon fichier xml

Code: Tout sélectionner
<!-- modifications panier-menu -->
   <file name="catalog/language/english/common/header.php">
      <operation>
         <search position="after"><![CDATA[
     // Text
         ]]></search>
         <add><![CDATA[
      $_['text_items']      = '&nbsp;[&nbsp;%s - %s&nbsp;]';
         ]]></add>
      </operation>
   </file>
   
    <file name="catalog/language/french/common/header.php">
      <operation>
         <search position="after"><![CDATA[
     // Text
         ]]></search>
         <add><![CDATA[
      $_['text_items']      = '&nbsp;[&nbsp;%s - %s&nbsp;]';
         ]]></add>
      </operation>
   </file>
   
    <file name="catalog/language/spanish/common/header.php">
      <operation>
         <search position="after"><![CDATA[
     // Text
         ]]></search>
         <add><![CDATA[
      $_['text_items']      = '&nbsp;[&nbsp;%s - %s&nbsp;]';
         ]]></add>
      </operation>
   </file>
   
   <file name="catalog/controller/common/header.php">
      <operation>
         <search position="after"><![CDATA[
     $this->data['text_checkout'] = $this->language->get('text_checkout');
         ]]></search>
         <add><![CDATA[
      $this->data['totals'] = $total_data;
      $this->data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));
         ]]></add>
      </operation>
   </file>
   
   <file name="catalog/view/theme/default/template/common/header.tpl">
         <operation>
         <search position="replace"><![CDATA[
  <div class="links"><a href="<?php echo $home; ?>"><?php echo $text_home; ?></a><a href="<?php echo $wishlist; ?>" id="wishlist-total"><?php echo $text_wishlist; ?></a><a href="<?php echo $account; ?>"><?php echo $text_account; ?></a><a href="<?php echo $shopping_cart; ?>"><?php echo $text_shopping_cart; ?></a><a href="<?php echo $checkout; ?>"><?php echo $text_checkout; ?></a></div>
         ]]></search>
         <add><![CDATA[
         ]]></add>
      </operation>
       <operation>
            <search position="replace"><![CDATA[
     <a href="<?php echo $shopping_cart; ?>"><?php echo $text_shopping_cart; ?></a>
            ]]></search>
            <add><![CDATA[
     <a href="<?php echo $shopping_cart; ?>"><?php echo $text_shopping_cart; ?><?php echo $text_items; ?></a>
            ]]></add>
      </operation>
   </file>


et le résultat en image
Image

et l'erreur:
Notice: Undefined variable: total_data in /homez.577/iidmage/www/vqmod/vqcache/vq2-catalog_controller_common_header.php on line 60Notice: Undefined variable: total in /homez.577/xxx/www/vqmod/vqcache/vq2-catalog_controller_common_header.php on line 61
Félicitations, vous avez ajouté Canon EOS 5D à votre panier !


Je suis un peu coincé. Je n'arrive pas à appeler la class "d'actualisation du panier" depuis le header. Il n'aditionne donc pas les prix, seulement le nombre de produit, mais je suis obligé d'actualiser la page pour actualiser le panier...

Je suis preneur de tout conseil.
Merci d'avance
Dernière édition par plugeplay le 07 Juil 2013, 09:52, édité 1 fois au total.
os x (Apple/mac)
serveur local MAMP
Serveur mutualisé OVH
version 1.5.2
HTML module
VQmod
plugeplay
 
Messages: 47
Inscrit le: 16 Oct 2012, 14:30

Re: bouton panier avec nbr et prix

Messagepar Imaxine » 14 Nov 2012, 19:04

Il te suffit d'utiliser les éléments contenus dans le fichier catalog/controller/module/cart.php pour déclarer tes variables dans ton fichier xml.
Imaxine
 
Messages: 3023
Inscrit le: 27 Juil 2009, 19:28

Re: bouton panier avec nbr et prix

Messagepar plugeplay » 14 Nov 2012, 19:19

Merci de ta réponse! Je creuse un peu par là mais sans grande réussite. Je vais me relire, parce qu'il suffit vraiment d'un rien pour que ça ne fonctionne pas :D

Merci
os x (Apple/mac)
serveur local MAMP
Serveur mutualisé OVH
version 1.5.2
HTML module
VQmod
plugeplay
 
Messages: 47
Inscrit le: 16 Oct 2012, 14:30

Re: bouton panier avec nbr et prix

Messagepar Imaxine » 14 Nov 2012, 22:46

Si tu trouves ta réponse, j'espère que tu en feras profiter la communauté et que tu n'omettras pas de mette la petite icône de résolution dans le titre initial du sujet.
Imaxine
 
Messages: 3023
Inscrit le: 27 Juil 2009, 19:28

Re: bouton panier avec nbr et prix

Messagepar plugeplay » 14 Nov 2012, 23:20

Absolument! :D

Voici donc le problème en partie résolu avec ces lignes suivantes
Code: Tout sélectionner
<file name="catalog/controller/common/header.php">
      <operation>
         <search position="before"><![CDATA[
     $this->data['text_home'] = $this->language->get('text_home');
         ]]></search>
         <add><![CDATA[
      $this->load->model('setting/extension');
      
      $total_data = array();               
      $total = 0;
      $taxes = $this->cart->getTaxes();
      
      $sort_order = array();
      
      $results = $this->model_setting_extension->getExtensions('total');
      
      foreach ($results as $key => $value) {
         $sort_order[$key] = $this->config->get($value['code'] . '_sort_order');
      }
      
      array_multisort($sort_order, SORT_ASC, $results);
      
      foreach ($results as $result) {
         if ($this->config->get($result['code'] . '_status')) {
            $this->load->model('total/' . $result['code']);
   
            $this->{'model_total_' . $result['code']}->getTotal($total_data, $total, $taxes);
         }
         
         $sort_order = array();
       
         foreach ($total_data as $key => $value) {
            $sort_order[$key] = $value['sort_order'];
         }

         array_multisort($sort_order, SORT_ASC, $total_data);         
      }      
      
      $this->data['totals'] = $total_data;   
      ]]></add>
      </operation>
      <operation>
         <search position="after"><![CDATA[
     $this->data['text_checkout'] = $this->language->get('text_checkout');
         ]]></search>
         <add><![CDATA[
     $this->data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));
         ]]></add>
      </operation>
   </file>
   
   <file name="catalog/view/theme/default/template/common/header.tpl">
         <operation>
         <search position="replace"><![CDATA[
  <div class="links"><a href="<?php echo $home; ?>"><?php echo $text_home; ?></a><a href="<?php echo $wishlist; ?>" id="wishlist-total"><?php echo $text_wishlist; ?></a><a href="<?php echo $account; ?>"><?php echo $text_account; ?></a><a href="<?php echo $shopping_cart; ?>"><?php echo $text_shopping_cart; ?></a><a href="<?php echo $checkout; ?>"><?php echo $text_checkout; ?></a></div>
         ]]></search>
         <add><![CDATA[
         ]]></add>
      </operation>
       <operation>
            <search position="replace"><![CDATA[
     <a href="<?php echo $shopping_cart; ?>"><?php echo $text_shopping_cart; ?></a>
            ]]></search>
            <add><![CDATA[
     <a href="<?php echo $shopping_cart; ?>"><?php echo $text_shopping_cart; ?><span style="font-size:x-small;display:block;float:right;"><?php echo $text_items; ?></span></a>
            ]]></add>
      </operation>
   </file>


les modifs <span> dans le header.tpl sont juste esthétiques, le tout étant d'avoir <?php echo $text_items; ?> dans la balise adéquoite.

Par contre, il reste un souci non résolu: l'actualisation du panier en temps réél... Autant quand on supprime, pas de souci, autant quand on ajoute, il ne se passe rien. Il y a donc d'autres lignes à rajouter, mais lesquelles? zat ize zeu kwestion :D

EDIT:S'il y a une solution pour l'actualisation du panier, je suis preneur...
os x (Apple/mac)
serveur local MAMP
Serveur mutualisé OVH
version 1.5.2
HTML module
VQmod
plugeplay
 
Messages: 47
Inscrit le: 16 Oct 2012, 14:30


Retour vers Développement

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 0 invité(s)

Copyright © 2009-2013 OpenCart France - Tous droits réservés