justrundesign Posted May 19, 2017 Share Posted May 19, 2017 Bonjour, j'ai créé un groupe de client qui ont un prix SPÉCIFIQUES par rapport à leur groupe, la fiche produit affiche par défaut le prix spécifique, par contre je voudrais sur la page produit Afficher => Prix de vente de base (qui ne prend pas en compte le prix Groupe Client = PRIX SPÉCIFIQUES), j'ai essayé de faire les modits dans le fichier product.tpl {if $product->specificPrice } <p align="center" style="background-color: rgba(251, 232, 210, 0.8); width: 100%; padding: 5px; border: 1px solid #A9592D;"> Votre statut vous permet de bénéficier de <strong style="font-size: 130%">{convertPrice price=$productPrice|floatval}</strong> EUR de réduction ! </p> {/if} Mais $productPrice affiche le prix par défaut donc le prix spécifique du groupe! Est-ce que quelqu'un a une idée de comment je peux récupérer le prix de base? Link to comment Share on other sites More sharing options...
Alexandre Carette Posted May 19, 2017 Share Posted May 19, 2017 Salut,le groupe du client est gérer par le cookie, si le client n'est pas connecté il n'aura pas le prix spécifique,si tu veux avoir les deux prix specifiés prix de base et prix spécifique au groupe je pense qu'il faut regarder dans le ProductController /** * Assign price and tax to the template */ protected function assignPriceAndTax() { $id_customer = (isset($this->context->customer) ? (int)$this->context->customer->id : 0); $id_group = (int)Group::getCurrent()->id; $id_country = $id_customer ? (int)Customer::getCurrentCountry($id_customer) : (int)Tools::getCountry(); $group_reduction = GroupReduction::getValueForProduct($this->product->id, $id_group); if ($group_reduction === false) { $group_reduction = Group::getReduction((int)$this->context->cookie->id_customer) / 100; } // Tax $tax = (float)$this->product->getTaxesRate(new Address((int)$this->context->cart->{Configuration::get('PS_TAX_ADDRESS_TYPE')})); $this->context->smarty->assign('tax_rate', $tax); $product_price_with_tax = Product::getPriceStatic($this->product->id, true, null, 6); if (Product::$_taxCalculationMethod == PS_TAX_INC) { $product_price_with_tax = Tools::ps_round($product_price_with_tax, 2); } $product_price_without_eco_tax = (float)$product_price_with_tax - $this->product->ecotax; $ecotax_rate = (float)Tax::getProductEcotaxRate($this->context->cart->{Configuration::get('PS_TAX_ADDRESS_TYPE')}); if (Product::$_taxCalculationMethod == PS_TAX_INC && (int)Configuration::get('PS_TAX')) { $ecotax_tax_amount = Tools::ps_round($this->product->ecotax * (1 + $ecotax_rate / 100), 2); } else { $ecotax_tax_amount = Tools::ps_round($this->product->ecotax, 2); } $id_currency = (int)$this->context->cookie->id_currency; $id_product = (int)$this->product->id; $id_shop = $this->context->shop->id; $quantity_discounts = SpecificPrice::getQuantityDiscounts($id_product, $id_shop, $id_currency, $id_country, $id_group, null, true, (int)$this->context->customer->id); foreach ($quantity_discounts as &$quantity_discount) { if ($quantity_discount['id_product_attribute']) { $quantity_discount['base_price'] = $this->product->getPrice(Product::$_taxCalculationMethod == PS_TAX_INC, $quantity_discount['id_product_attribute']); $combination = new Combination((int)$quantity_discount['id_product_attribute']); $attributes = $combination->getAttributesName((int)$this->context->language->id); foreach ($attributes as $attribute) { $quantity_discount['attributes'] = $attribute['name'].' - '; } $quantity_discount['attributes'] = rtrim($quantity_discount['attributes'], ' - '); } if ((int)$quantity_discount['id_currency'] == 0 && $quantity_discount['reduction_type'] == 'amount') { $quantity_discount['reduction'] = Tools::convertPriceFull($quantity_discount['reduction'], null, Context::getContext()->currency); } } $address = new Address($this->context->cart->{Configuration::get('PS_TAX_ADDRESS_TYPE')}); $this->context->smarty->assign(array( 'quantity_discounts' => $this->formatQuantityDiscounts($quantity_discounts, null, (float)$tax, $ecotax_tax_amount), 'ecotax_tax_inc' => $ecotax_tax_amount, 'ecotax_tax_exc' => Tools::ps_round($this->product->ecotax, 2), 'ecotaxTax_rate' => $ecotax_rate, 'productPriceWithoutEcoTax' => (float)$product_price_without_eco_tax, 'group_reduction' => $group_reduction, 'no_tax' => Tax::excludeTaxeOption() || !$this->product->getTaxesRate($address), 'ecotax' => (!count($this->errors) && $this->product->ecotax > 0 ? Tools::convertPrice((float)$this->product->ecotax) : 0), 'tax_enabled' => Configuration::get('PS_TAX') && !Configuration::get('AEUC_LABEL_TAX_INC_EXC'), 'customer_group_without_tax' => Group::getPriceDisplayMethod($this->context->customer->id_default_group), )); } Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now