Bienvenue, Invité
Merci de vous identifier ou de vous inscrire.    Mot de passe perdu?

Remplacer le prix par "nous contacter" (ainsi que l'ajout au panier, comparateur...)
(1 lecteur(s)) (1) Invité(s)
Aller en basPage: 1
SUJET:

Remplacer le prix par "nous contacter" (ainsi que l'ajout au panier, comparateur...)

*
#11965
EDML
Junior Boarder
Messages: 32
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
EDML DESIGN

Remplacer le prix par "nous contacter" (ainsi que l'ajout au panier, comparateur...)

Il y a 9 Années, 3 Mois
Karma: 1  
Deux toutes petites choses avant de commencer:
- mettre comme prix dans le produit "9999999" vaut mieux que "0" juste au cas où par hasard un client arriverait à ajouter le produit; il me semble préférable qu'il le réclame à près de 10 millions d'euros plutôt à qu'à 0€. De toutes façons il n'est pas sensé pouvoir le faire mais autant prendre la précaution.
- un rappel utile de Gabriiiel:
ne JAMAIS mettre un email en clair sur le Web !

Utiliser un cryptage en JS, qui évitera tout spam : www.aspirine.org/emailcode_en.html



Dans un premier temps, nous allons remplacer le prix par une ligne au choix (lien vers un mail de contact, vers la page de contact, peu importe)

1 - On crée un attribut "Prix_sur_demande" avec une valeur oui/non

2 - On s'en sert :

Dans le fichier "catalog/product/price.html", après la ligne:
Code :

<?php $_minimalPrice = $this->helper('tax')->getPrice($_product, $_minimalPriceValue, $simplePricesTax) ?>

On entre:
Code :

<?php  $_helper = $this->helper('catalog/output'); ?>
<?php if ($_helper->productAttribute($_product, $_product->getPrixSurDemande(), 'prix_sur_demande')): ?>
<a href="mailto:contact@monsite.com">Nous contacter</a> (ou un lien vers la page de contact...)

<?php else: ?> 


et tout à la fin du fichier:
Code :

<?php endif; ?>




Pour retrouver l'attribut dans liste/grille, on rajoute dans "layout/catalog.xml" après la ligne:
Code :

<block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">

la ligne qui appelle l'attribut:
Code :

<action method="addAttribute"><attribute>prix_sur_demande</attribute></action>



Et là, vous me dites qu'il reste les ajouts (au panier, à la liste d'envies et au comparateur) dans lesquels le prix peut apparaitre. C'est pas faux. Donc:

- On ouvre le fichier "catalog/product/view.phtml"
après la ligne
Code :

<?php echo $this->getChildHtml('product_type_data') ?>

on entre:
Code :

<?php  $_helper = $this->helper('catalog/output'); ?>
<?php if ($_helper->productAttribute($_product, $_product->getPrixSurDemande(), 'prix_sur_demande')): ?>
<?php else: ?>


et on rajoute le endif après celui qui suit la ligne
Code :

<?php echo $this->getChildHtml('addto') ?>


- On ouvre le fichier "catalog/product/list.phtml"
Dans la première partie, List mode, après la ligne
Code :

<?php echo $this->getPriceHtml($_product, true) ?>

on entre
Code :

<?php  $_helper = $this->helper('catalog/output'); ?>
<?php if ($_helper->productAttribute($_product, $_product->getPrixSurDemande(), 'prix_sur_demande')): ?>

<?php else: ?>


puis un second endif à la suite de
Code :

<div class="out-of-stock"><?php echo $this->__('&eacute;puis&eacute;') ?></div>

            <?php endif; ?>




Ensuite on remet le code juste au-dessus du paragraphe "add-to" comme ceci:
Code :

<?php if ($_helper->productAttribute($_product, $_product->getPrixSurDemande(), 'prix_sur_demande')): ?>
<?php else: ?>

            <p class="add-to">


Et à nouveau
Code :

<?php endif; ?>
après le paragraphe.


On refait quasiment la même chose dans la partie grid:
après la ligne
Code :

<?php echo $this->getPriceHtml($_product, true) ?>

on entre
Code :

<?php  $_helper = $this->helper('catalog/output'); ?>
<?php if ($_helper->productAttribute($_product, $_product->getPrixSurDemande(), 'prix_sur_demande')): ?>
<div style="height:(destiné à ajuster la grille)" />
<?php else: ?>


puis un second endif à la suite de
Code :

<div class="out-of-stock"><?php echo $this->__('&eacute;puis&eacute;') ?></div>

            <?php endif; ?>



Voilà, sur les pages produit comme dans l'affichage liste/grille, ni le prix, ni les éléments d'ajout au panier ni les autres liens d'ajout n'apparaissent du moment qu'on enclenche l'attribut "prix_sur_demande"

IMPORTANT! Pensez à enlever le produit des produits apparentés et autres ou à répéter l'opération dans les phtml concernant les liens d'ajout (comparateur et liste d'envies).

Et ajouté à la discussion sur le sujet:
Boutik Circus écrit:
Je rajouterais juste que ce que tu as fait peut-être facilement couplé avec l'extension Monk_Quote. Ca permet de différencier les mails reçu de personnes voulant connaitre un prix et de celles voulant prendre contacte pour autres choses, voir de pouvoir rajouter dans le mail les informations du produit sans que le client n'ai à les retaper dans le formulaire.

Encore une édition mais d'une importance assez capitale:
Il faut ajouter ces attributs au résultats de recherche sous peine d'y voir son prix affiché malgré tout! La marche à suivre se trouve ici:
www.fragento.org/Tutoriaux/9936-Attribut...ats-de-recheche.html
 
Dernière édition: 30/04/09 à  05:08 Par EDML.
L'administrateur a désactivé l'accès public en écriture.
#23373
lakanat75
Senior Boarder
Messages: 65
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Remplacer le prix par

Il y a 8 Années, 7 Mois
Karma: 1  
A la place de :
<?php $_minimalPrice = $this->helper('tax')->getPrice($_product, $_minimalPriceValue, $simplePricesTax) ?>
ce serait pas lign48 catalog/product/price.phtml :
$_minimalPrice = $_taxHelper->getPrice($_product, $_minimalPriceValue, $_simplePricesTax);

car pour moi la ligne que vous proposez au tout debut du tuto est introuvable ...
 
L'administrateur a désactivé l'accès public en écriture.
#23444
lemax
Gold Boarder
Messages: 281
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin afterprod eBusiness Atlantique Lieu: La Rochelle

Re:Remplacer le prix par

Il y a 8 Années, 7 Mois
Karma: 6  
Il y a une nouvelle extension pour cela :
www.magentocommerce.com/module/2391/call-for-price
Max
 
eBusiness Atlantique : Spécialiste en création de sites e-commerce Magento.
Profitez de notre expérience d'e-commerçant !
Ambient Lounge
Billes-de-polystyrene.com
L'administrateur a désactivé l'accès public en écriture.
Revenir en hautPage: 1
Modérateur: Gabriiiel, ILOA, zuiko