Nous ne répondons seulement qu'aux sujets dont l'auteur a complété sa signature [Lire]



Vous avez des soucis avec votre Opencart v1.5.x, nous pouvons résoudre vos problèmes,
contactez le Bureau France !

par tel: 0 891 690 175 ou par
email

Remplacer "Ajouter au panier" par "Demander un devis"

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

Remplacer "Ajouter au panier" par "Demander un devis"

Messagepar eric02 » 19 Juin 2013, 09:40

Voila ma solution :

0c 1.5.5.1
remplacer le bouton "ajout au panier par demander un devis

fichier : catalog/controller/produc/product.php
apres la ligne :
Code: Tout sélectionner
$this->data['text_price'] = $this->language->get('text_price');

ajouter :
Code: Tout sélectionner
$this->data['text_quotation'] = $this->language->get('text_quotation');
$this->data['text_info_quotation'] = $this->language->get ('text_info_quotation');

puis, après la ligne :
Code: Tout sélectionner
$this->data['button_cart'] = $this->language->get('button_cart');

ajouter la ligne :
Code: Tout sélectionner
$this->data['button_quotation'] = $this->language->get('button_quotation');

apres la ligne :
Code: Tout sélectionner
$this->load->model('catalog/review');

ajouter
Code: Tout sélectionner
      $this->data['quotation'] = $this->url->link('information/contact');



fichier : catalog/language/french/product.product.php
apres la ligne :
Code: Tout sélectionner
$_['text_tax']            = 'H.T :';

ajouter :
Code: Tout sélectionner
$_['text_quotation']        = 'Sur devis';

apres la ligne :
Code: Tout sélectionner
$_['text_or']            = '- OU -';

ajouter :
Code: Tout sélectionner
$_['text_info_quotation']   = 'Cliquer sur le bouton ci-dessus pour un contact de notre part, en précisant l’objet de votre demande, ainsi qu’un numéro de téléphone.';

Apres la ligne :
Code: Tout sélectionner
$_['text_error']         = 'Produit introuvable ! ';

ajouter :
Code: Tout sélectionner
// Button
$_['button_quotation']      = 'Demande de devis';


fichier : catalog/view/theme/defaut/template/product/product.tpl
ligne 34, remplacer :
Code: Tout sélectionner
 <?php if ($price) { ?>
      <div class="price"><?php echo $text_price; ?>
        <?php if (!$special) { ?>
        <?php echo $price; ?>
        <?php } else { ?>
        <span class="price-old"><?php echo $price; ?></span> <span class="price-new"><?php echo $special; ?></span>
        <?php } ?>
        <br />

par :
Code: Tout sélectionner
<?php if ($price) { ?>
   <div class="price"><?php echo $text_price; ?>
   <?php if ($price <=0 ) { ?>
   <?php echo $text_quotation; ?>
   <?php } else { ?>
      <?php if (!$special) { ?>
   <?php echo $price; ?>
   <?php } else { ?>
   <span class="price-old"><?php echo $price; ?></span> <span class="price-new"><?php echo $special; ?></span>
<?php } ?>
   <?php } ?>
   <br />

puis, ligne 209, remplacer :
Code: Tout sélectionner
  <div class="cart">
        <div><?php echo $text_qty; ?>
          <input type="text" name="quantity" size="2" value="<?php echo $minimum; ?>" />
          <input type="hidden" name="product_id" size="2" value="<?php echo $product_id; ?>" />
          &nbsp;
          <input type="button" value="<?php echo $button_cart; ?>" id="button-cart" class="button" />
          <span>&nbsp;&nbsp;<?php echo $text_or; ?>&nbsp;&nbsp;</span>
          <span class="links"><a onclick="addToWishList('<?php echo $product_id; ?>');"><?php echo $button_wishlist; ?></a><br />
            <a onclick="addToCompare('<?php echo $product_id; ?>');"><?php echo $button_compare; ?></a></span>
        </div>
        <?php if ($minimum > 1) { ?>
        <div class="minimum"><?php echo $text_minimum; ?></div>
        <?php } ?>
      </div>

par :
Code: Tout sélectionner
  <div class="cart">
        <?php if ($price >0 ) { ?>
         <div><?php echo $text_qty; ?>
          <input type="text" name="quantity" size="2" value="<?php echo $minimum; ?>" />
          <input type="hidden" name="product_id" size="2" value="<?php echo $product_id; ?>" />
          &nbsp;<a id="button-cart" class="button"><span><?php echo $button_cart; ?></span></a></div>
        <div><span>&nbsp;&nbsp;&nbsp;<?php echo $text_or; ?>&nbsp;&nbsp;&nbsp;</span></div>
        <div><a onclick="addToWishList('<?php echo $product_id; ?>');"><?php echo $button_wishlist; ?></a><br />
          <a onclick="addToCompare('<?php echo $product_id; ?>');"><?php echo $button_compare; ?></a></div>
        <?php if ($minimum > 1) { ?>
        <div class="minimum"><?php echo $text_minimum; ?></div>
        <?php } ?>
         <?php } else { ?>
<div>&nbsp;<a id="button-cart" class="button" href="<?php echo $quotation; ?>"><span><?php echo $button_quotation; ?></span></a></div>
<div><span style="padding-bottom: 5px;"><?php echo $text_info_quotation; ?></span></div>
      <?php } ?>      
   </div>

Et voila !
Cela fonctionne lorsque le prix du produit est à : "0.00"
Dans l'etat des stock, j'ai créé : "Uniquement sur devis" que j'applique pour ces produits.

lorsque l'on clic sur demander un devis cela envoi sur la page contact, resterai donc à recuperer le nom du produit sur lequel on se trouve pour ajouter en debut de message :

Demande de devis pour "Produit XY", le client n'ayant plus qu'à poursuivre son message.

Je n'ai pas encore pris le temps de transformer cela pour vqmod, mais cela viendra.
Je suis aussi à cogiter sur la mise en place d'un truc qui peut indiquer que le prix d'un produit est "à partir de : "XX €", pour les produits avec de multiples options

cordialement

eric
Opencart 1.5.5.1
www.savonsdesgalets.fr/
- Sur serveur distant
- Boutique Templates : Maison
Mod : quelques modifications maison, VQmod - quelques fichiers xml
Autres : Category home page, recent viewed, login sidebar, search side bar,...
Tutoriel :
- Installer OC Multi Store http://forum.opencart-france.fr/post9116#p9116
http://www.editionsduharicot.fr/
- Livret Vqmod http://forum.opencart-france.fr/tutoriels/vqmod-in-french-dans-le-texte-t1896
eric02
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 269
Inscription: 20 Fév 2012, 13:39

Re: Remplacer "Ajouter au panier" par "Demander un devis"

Messagepar villagedefrance » 19 Juin 2013, 10:00

Salut Eric,

Bon boulot, ton code semble tenir la route.
Donc si je comprends bien, toute commande resultant d'une demande de devis sera traitee manuellement a partir de l'administration, une fois le devis accepte. Tous les produits a prix fixes seront traite directement au travers du "Checkout". Bien vu.
Image
Site Web (en Anglais) : http://villagedefrance.net
Extensions pour Opencart, toutes versions, en Anglais et en Français.
Boutique basée sur Opencart v1.8.1 Overclocked Edition.
Site hébergé chez http://www.compila.com (UK)
Avatar de l’utilisateur
villagedefrance
Administrateur
Administrateur
 
Messages: 338
Inscription: 05 Avr 2013, 19:03
Localisation: Grande Bretagne

Re: Remplacer "Ajouter au panier" par "Demander un devis"

Messagepar LeorLindel » 19 Juin 2013, 13:40

Salut Eric,

Tu pourrais faire de ta solution un fichier XML pour vQmod que tu pourrais mettre dans l'espace "Extensions" du portail.
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: Remplacer "Ajouter au panier" par "Demander un devis"

Messagepar eric02 » 19 Juin 2013, 15:08

remplace price by quotation.xml
Mon fichier qui ne fonctionne pas...
(5.09 Kio) Téléchargé 321 fois
Je mets en pj le fichier xml correspondant à la modif de code ci-dessus,

Baaah ça marche pô !!!

Cela doit surement venir du fait des multiples ligne de code ? d'un caractère invisible qui casse le joujou ?
ou encore (plus probable)
d'une erreur dans le codage de mon fichier ???

A votre avis ???

Cordialement

Eric
Opencart 1.5.5.1
www.savonsdesgalets.fr/
- Sur serveur distant
- Boutique Templates : Maison
Mod : quelques modifications maison, VQmod - quelques fichiers xml
Autres : Category home page, recent viewed, login sidebar, search side bar,...
Tutoriel :
- Installer OC Multi Store http://forum.opencart-france.fr/post9116#p9116
http://www.editionsduharicot.fr/
- Livret Vqmod http://forum.opencart-france.fr/tutoriels/vqmod-in-french-dans-le-texte-t1896
eric02
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 269
Inscription: 20 Fév 2012, 13:39

Re: Remplacer "Ajouter au panier" par "Demander un devis"

Messagepar eric02 » 19 Juin 2013, 18:34

Je recopie ici le contenu d'un ancien post pour aller au bout de la demarche, faire apparaitre ce bouton "Demander un devis" sur les pages "Catégorie" et sur les modules bien sur.

cette modif avait été faite pour OC 1.5.3, mais devrait aussi fonctionner sur la derniere, peut etre avec un rien d'ajustement.

-----------------------------------------------------------------------------------------------------------------------------------------

modifications à apporter sur les fichiers "catégory" de façon à avoir tout au long de son site une certaine ... cohérence.

Modification sur le fichier catalog/view/theme/default/template/product/category.tpl
rechercher
Code: Tout sélectionner
  <div class="cart"><a onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button"><span><?php echo $button_cart; ?></span></a></div>
      <div class="wishlist"><a onclick="addToWishList('<?php echo $product['product_id']; ?>');"><?php echo $button_wishlist; ?></a></div>
      <div class="compare"><a onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $button_compare; ?></a></div>

remplacer par :
Code: Tout sélectionner
<?php if ($product['price'] <=0 ) { ?>
          <div class="cart"><a href="<?php echo $quotation; ?>" class="button"><span><?php echo $button_quotation; ?></span></a></div>
      <div class="wishlist"><a onclick="addToWishList('<?php echo $product['product_id']; ?>');"><?php echo $button_wishlist; ?></a></div>
      <div class="compare"><a onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $button_compare; ?></a></div>
      <?php } else { ?>
      <div class="cart"><a onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button"><span><?php echo $button_cart; ?></span></a></div>
      <div class="wishlist"><a onclick="addToWishList('<?php echo $product['product_id']; ?>');"><?php echo $button_wishlist; ?></a></div>
      <div class="compare"><a onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $button_compare; ?></a></div>
     <?php } ?>

fichier catalog/controller/product/ category.php
rechercher
Code: Tout sélectionner
$this->data['text_price'] = $this->language->get('text_price');

ajouter en dessous
Code: Tout sélectionner
$this->data['text_quotation'] = $this->language->get('text_quotation');

rechercher
Code: Tout sélectionner
$this->data['button_continue'] = $this->language->get('button_continue');

ajouter en dessous
Code: Tout sélectionner
$this->data['button_quotation'] = $this->language->get('button_quotation');
         
$this->data['quotation'] = $this->url->link('information/contact');


Fichier : catalog/language/french/category.php
à la fin du fichier et avant
Code: Tout sélectionner
?>

coller
Code: Tout sélectionner
// Button
$_['button_quotation']        = 'Demande de devis';


C'est fini pour les catégories

Si vous utilisez les modules "Nouveautés" et/ou "En vedette", il faut ici aussi penser à faire les mêmes modifications.
les modules "Promotions" "Meilleures Ventes", ne sont pas (à priori) concernées, et pour cause ... Pas de promo sur un article "Sur devis", quant au module "Meilleures ventes", lui fonctionne à partir des quantités vendues directement sur le site.
Les modifications à apporter au module "Nouveautés" (latest), il en sera de même si vous utilisez le module "En vedette ou autres qui peuvent être concernés".
Fichier : "catalog/controller/module/latest.php"
chercher :
Code: Tout sélectionner
$this->data['button_cart'] = $this->language->get('button_cart');

ajouter dessous :
Code: Tout sélectionner
$this->data['button_quotation'] = $this->language->get('button_quotation');
$this->data['text_quotation'] = $this->language->get('text_quotation');
$this->data['quotation'] = $this->url->link('information/contact');

Fichier : "catalog/language/french/module/latest.php"
à la fin du fichier, avant
Code: Tout sélectionner
: ?>

coller :
Code: Tout sélectionner
$_['text_quotation']      = 'Sur devis';

// Button
$_['button_quotation']        = 'Demande de devis';

Fichier : "catalog/view/theme/default/template/module/latest.php"
rechercher :
Code: Tout sélectionner
<div class="price">

coller dessous :
Code: Tout sélectionner
<?php if ($product['price'] <=0 ) { ?>
<?php echo $text_quotation; ?>
<?php } else { ?>

rechercher :
Code: Tout sélectionner
<span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
<?php } ?>

ajouter dessous :
Code: Tout sélectionner
<?php } ?>

rechercher :
Code: Tout sélectionner
<div class="cart"><a onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button"><span><?php echo $button_cart; ?></span></a></div>

remplacer par :
Code: Tout sélectionner
<?php if ($product['price'] <=0 ) { ?>
          <div class="cart"><a href="<?php echo $quotation; ?>" class="button"><span><?php echo $button_quotation; ?></span></a></div>
      <div class="wishlist"><a onclick="addToWishList('<?php echo $product['product_id']; ?>');"><?php echo $button_wishlist; ?></a></div>
      <div class="compare"><a onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $button_compare; ?></a></div>
      <?php } else { ?>
      <div class="cart"><a onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button"><span><?php echo $button_cart; ?></span></a></div>
      <div class="wishlist"><a onclick="addToWishList('<?php echo $product['product_id']; ?>');"><?php echo $button_wishlist; ?></a></div>
      <div class="compare"><a onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $button_compare; ?></a></div>
     <?php } ?>

dans la modification des fichiers "category", un petit oubli de ma part, puisque les montants "0.00 €" s'affiche toujours.

le fichier "catalog/language/french/product/category.php"
rechercher :
Code: Tout sélectionner
$_['text_limit']      = 'Nombre par page :';

ajouter dessous :
Code: Tout sélectionner
$_['text_quotation']      = 'Sur devis';

le fichier "catalog/controller/product/category.php
rechercher :
Code: Tout sélectionner
$this->data['text_limit'] = $this->language->get('text_limit');

coller dessous
Code: Tout sélectionner
$this->data['text_quotation'] = $this->language->get('text_quotation');

et enfin dans le fichier "catalog/view/theme/default/template/category.tpl"
rechercher :
Code: Tout sélectionner
<div class="price">

coller dessous :
Code: Tout sélectionner
<?php if ($product['price'] <=0 ) { ?>
      <?php echo $text_quotation; ?>
      <?php } else { ?>

rechercher :
Code: Tout sélectionner
<?php if ($product['tax']) { ?>

placer au dessus :
Code: Tout sélectionner
<?php } ?>

là je pense avoir fait le tour complet...
Y'apluKa XMLiser tout cela ... Same player shoot again ... later

Cordialement
Eric
Opencart 1.5.5.1
www.savonsdesgalets.fr/
- Sur serveur distant
- Boutique Templates : Maison
Mod : quelques modifications maison, VQmod - quelques fichiers xml
Autres : Category home page, recent viewed, login sidebar, search side bar,...
Tutoriel :
- Installer OC Multi Store http://forum.opencart-france.fr/post9116#p9116
http://www.editionsduharicot.fr/
- Livret Vqmod http://forum.opencart-france.fr/tutoriels/vqmod-in-french-dans-le-texte-t1896
eric02
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 269
Inscription: 20 Fév 2012, 13:39

Re: Remplacer "Ajouter au panier" par "Demander un devis"

Messagepar LeorLindel » 22 Juin 2013, 21:32

Je viens de faire un fichier XML pour vQmod de ces modifications.

Le voici :
quotation_if_price_0.xml
(2.57 Kio) Téléchargé 324 fois
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: Remplacer "Ajouter au panier" par "Demander un devis"

Messagepar eric02 » 23 Juin 2013, 00:10

Impec je vais surement comprendre pouquoi le mien ne fonctionnait pas !

j'ai un soucis avec <relace> <offset x>

Merci Leor
cordialement

eric
Opencart 1.5.5.1
www.savonsdesgalets.fr/
- Sur serveur distant
- Boutique Templates : Maison
Mod : quelques modifications maison, VQmod - quelques fichiers xml
Autres : Category home page, recent viewed, login sidebar, search side bar,...
Tutoriel :
- Installer OC Multi Store http://forum.opencart-france.fr/post9116#p9116
http://www.editionsduharicot.fr/
- Livret Vqmod http://forum.opencart-france.fr/tutoriels/vqmod-in-french-dans-le-texte-t1896
eric02
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 269
Inscription: 20 Fév 2012, 13:39

Re: Remplacer "Ajouter au panier" par "Demander un devis"

Messagepar eric02 » 23 Juin 2013, 10:49

Bonjour;

J'ai étudié de près ton fichier, j'y ai apporté qq modifications, le bouton demander un devis n'apparaissait pas
- J'ai aussi fait sauter la ligne "HT: 0.00" qui n'a plus lieu d'être,
- Idem pour la ligne 'valeur de l'article en point de fidélité
- Retiré aussi la ligne "Add to compare" qui me parait sans objet dans ce cas de figure
- On pourrait laisser la ligne "Add to whislist" ...???
- derniere modif pour la ligne "Stok" qui devient automatiquement "Sur devis" dans ce cas de figure.

Pour aller plus loin.
Lorsque l'on clique sur le bouton "demander un devis", qui envoi sur la page contact, je dois encore récupérer le nom du produit, puis dans le formulaire de contact ajouter un champ "Sujet" pour y placer "Demande de devis pour Produit X", ou le placer directement dans le corps du message et faire sauter deux lignes, pour que le demandeur finisse de remplir sa demande, (pour une solution de base ...

Sinon la modif faite par douglas-piscine me parait top top

Cordialement
Eric
Fichiers joints
quotation_if_price_0.xml
version corrigée
(3.81 Kio) Téléchargé 306 fois
Opencart 1.5.5.1
www.savonsdesgalets.fr/
- Sur serveur distant
- Boutique Templates : Maison
Mod : quelques modifications maison, VQmod - quelques fichiers xml
Autres : Category home page, recent viewed, login sidebar, search side bar,...
Tutoriel :
- Installer OC Multi Store http://forum.opencart-france.fr/post9116#p9116
http://www.editionsduharicot.fr/
- Livret Vqmod http://forum.opencart-france.fr/tutoriels/vqmod-in-french-dans-le-texte-t1896
eric02
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 269
Inscription: 20 Fév 2012, 13:39

Re: Remplacer "Ajouter au panier" par "Demander un devis"

Messagepar LeorLindel » 23 Juin 2013, 11:39

Je me suis permis de prendre ton fichier XML et j'ai fait une petite remise en forme de façon à ce que cela soit plus clair. Cela n'engage que moi et ne modifie en rien ton travail.

quotation_if_price_0.xml
Correction de mise en forme
(3.77 Kio) Téléchargé 339 fois
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce


Retourner vers Développement

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron