Jump to content

Mise en avant bon de réduction


manouille
 Share

Recommended Posts

Bonjour depuis le passage en version 1.6.1.6 j'ai un problème avec les bons de réductions destinés à tous les clients (sans préciser un nom particulier).

 

Je crée une règle panier et Mettre en avant --> non.

 

Pas de soucis le bon n'est pas visible sur le récapitulatif panier.

 

Par contre il est visible dans les comptes clients : Mon Compte --> Mes bons de réduction ce qui n'est pas terrible  et surtout je n'avais pas cela avant.

 

Merci de votre aide.

 

Je mets des captures

 

 

 

post-77714-0-43392400-1472726408_thumb.png

post-77714-0-84466300-1472726408_thumb.png

post-77714-0-24181200-1472726409_thumb.png

Share this post


Link to post
Share on other sites

'lo manouille ;)

 

Dans DiscountController.php remplace le contenu par ça:

class DiscountControllerCore extends FrontController
{
    public $auth = true;
    public $php_self = 'discount';
    public $authRedirection = 'discount';
    public $ssl = true;

    /**
     * Assign template vars related to page content
     * @see FrontController::initContent()
     */
    public function initContent()
    {
        parent::initContent();

        $cart_rules = CartRule::getCustomerCartRules($this->context->language->id, $this->context->customer->id, true, false);
        $nb_cart_rules = count($cart_rules);

        foreach ($cart_rules as $key => &$discount ) {
		
            if ($discount['quantity_for_user'] == 0 || $discount['gift_product'] != 0 || !$discount['id_customer']) {
                unset($cart_rules[$key]);
            }
			
            $discount['value'] = Tools::convertPriceFull(
                                            $discount['value'],
                                            new Currency((int)$discount['reduction_currency']),
                                            new Currency((int)$this->context->cart->id_currency)
                                        );
        }

        $this->context->smarty->assign(array(
                                            'nb_cart_rules' => (int)$nb_cart_rules,
                                            'cart_rules' => $cart_rules,
                                            'discount' => $cart_rules,
                                            'nbDiscounts' => (int)$nb_cart_rules)
                                        );
        $this->setTemplate(_PS_THEME_DIR_.'discount.tpl');
    }
}

Share this post


Link to post
Share on other sites

Rebonjour Eolia,

 

Merci pour votre retour. J´ai un peu planché sur la question, et en allant dans order-paiement.tpl, j´ai désactivé la portion de code suivante :

 

{*<fieldset>
                                                                <h4>{l s='Vouchers'}</h4>
                                                                <input type="text" id="discount_name" class="form-control" name="discount_name" value="{if isset($discount_name) && $discount_name}{$discount_name}{/if}" />
                                                                <input type="hidden" name="submitDiscount" />
                                                                <button type="submit" name="submitAddDiscount" class="button btn btn-default button-small"><span>{l s='ok'}</span></button>
                                                                {if $displayVouchers}
                                                                    <p id="title" class="title_offers">{l s='Take advantage of our offers:'}</p>
                                                                    <div id="display_cart_vouchers">
                                                                    {foreach from=$displayVouchers item=voucher}
                                                                        <span onclick="$('#discount_name').val('{$voucher.name}');return false;" class="voucher_name">{$voucher.name}</span> - {$voucher.description} <br />
                                                                    {/foreach}
                                                                    </div>
                                                                {/if}
                                                            </fieldset>*}
 

Ca suffit à mon bonheur, enfin presque voir l´image jointe. Je n´ai plus l´affichage du bloc discount, car pas utile arrivé à ce stade du tunnel de commande.

 

Mais ça me décale : Total à régler, par rapport aux autres "Total" au-dessus .... Comment réaligner cette mention, sans que cela impacte ailleurs, svp ?

 

Cordialement.

post-501983-0-22317300-1472737301_thumb.png

Edited by shooping (see edit history)

Share this post


Link to post
Share on other sites

il faut jouer sur les colspan dans le tpl

En enlever 1 au texte Total à payer et en ajouter un au prix total

 

Mais la modif dont je parlais au dessus ne concerne que la page Mon compte -> Mes bons de réductions rien à voir avec votre cas

Share this post


Link to post
Share on other sites

C´est de ces lignes, dont vous parlez ? :

 

<td colspan="{if !$voucherAllowed}4{else}3{/if}" class="text-right total_price_container">
                                        <span>{l s='Total à Régler'}</span>
                                        </td>
                                        <td colspan="2" class="price total_price_container" id="total_price_container">
                                        <span id="total_price">{displayPrice price=$total_price}</span>
                                        </td>
 

Moi qui était en train de me torturer avec le css .....

 

Cordialement.

Share this post


Link to post
Share on other sites

remplacez {if !$voucherAllowed}4{else}3{/if} par 3

 

<td colspan="{if !$voucherAllowed}3{else}2{/if}"

 

C´est gagné ! :) Merci pour votre aide. Car ce défaut de conception apparaît qu´on soit ou non connecté à partir du moment où l´on utilise ce module, or cela peut prêter à confusion pour l´internaute qui est devant son panier. :mellow:

 

Cordialement.

Share this post


Link to post
Share on other sites

Salut Eolia, content de te revoir.

 

Je ne viens plus trop ici débordé que je suis. En tout cas cela fait plaisir de te voir si à l'aise avec la solution ca me rappelle quelques années en arrière et tes débuts !

 

Ta solution semble fonctionner à merveille je ne sais pas si je dois remonter ou non le bug sur la forge mais le fonctionnement actuel n'est pas très logique.

  • Like 1

Share this post


Link to post
Share on other sites

Je me hâte lentement maintenant en ce qui concerne les versions de PS.

 

Tu vois je viens à peine de basculer mon plus gros client en 1.6 donc la 1.7 ca sera pour plus tard.

 

Ceci dit ils ferraient bien de se méfier Magento et surtout Wordpress évoluent très vite en ce moment.

Edited by manouille (see edit history)

Share this post


Link to post
Share on other sites

  • 4 years later...

Bonjour tout le monde,

Je viens déterrer ce sujet car je rencontre le même problème de bon de réduction visible via le compte client (alors que non-mis en avant), et pourtant je suis en 1.7.1.2. À vous lire le problème avait pourtant été réglé depuis...

J'ai essayé de me baser sur les conseils des différents topic suggéré par Eolia, malheureusement le code présent sur DiscountController.php est bien différent de celui indiqué dans les posts ci-dessus...

Quelqu'un aurait une idée ?

Merci

Edited by Laurent NODOVA (see edit history)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More