This issue has been migrated from the Forge. Read the original ticket here.
If you modify a price in a shop context the price is correctly registered. The price will be different on each shop. But if you would like to modify an other information, shipping for exemple, on the same product in the context All Shops the price will be updated for all shop. The final price will be the price of the default shop.
This comment has been migrated from the Forge. Read the original comment here.
En version 1.6 dans le contexte "all shops", il y avait des checkbox afin de sélectionner les élements à modifier pour toutes les boutiques.
Il y avait également un bouton "Multiboutique Oui/Non" permettant de sélectionner/déselectionner toutes les checkbox.
Ce n'est plus le cas en 1.7, il faut donc remettre les checkbox comme en 1.6
Tristan Lehot on pourra voir la partie design ensemble ![]()
This comment has been migrated from the Forge. Read the original comment here.
Hi Marion,
D'accord merci ![]()
This comment has been migrated from the Forge. Read the original comment here.
Voici la liste des champs devant avoir une checkbox dans le contexte 'all shops"
Onglet "Essentiel" :
Onglet "Quantités" (dans le cas d'un produit standard):
Onglet "Déclinaisons" (dans le cas d'un produit avec décli):
Sur la liste des déclinaisons:
Sur la liste des déclinaisons lors d'un bulk action:
Sur la page d'édition d'une déclinaison:
Onglet "Prix":
Onglet "Référencement":
Onglet "Options":
Hello guys !
Any visibility about this bug ? It's a major one for me, as my second shop prices are modified everytime I change a single word on the product..
If I can help on something, let me know !
Thanks in advance
Hi @elmanu13,
Sorry not yet.
We have a lot to do to fix multistore issues.
Thanks!
Hi,
any good news about this ticket? We haven't find some news in new releases and so I don't know if it's fixed
Thanks
Hi @lorenzoelwood,
Sorry not yet.
Thanks!
Any news?? This is a major problem when working in multistore...
@khouloudbelguith is anyone working on this as far as you know? It's a real problem as I have different prices on all shops.
Hi @wzzly,
Sorry not yet.
There are some major issues to solve before this one.
But PrestaShop is an open-source project, so it can be solved before if someone submits a pull request to solve it.
Thanks!
Hi @wzzly , In All Shops settings when you edit products, all prices are updated for All Shops.
We also marked this as a bug. Because this is stupid behavior. The temporary fix can you find here :
When you are in All shops context Prestashop process edition as you where editing in all shops at the same time.
price and whosale_price are shop's associated fields. So, if you are in All shops context you are editing this values for all shops too.
You can avoid this with the following code. But take into account that with this code if you want to update prices in all shops at the same time, you won't be abble to do it. You will have to update prices only in Single/Specific shop context.
if (Shop::getContext() != Shop::CONTEXT_SHOP)
{
unset($fields['price']);
unset($fields['wholesale_price']);
}
This code should be inserted in getFieldsShop() function inside Product class located in \classes\Product.php just before return $fields;
What this code do is telling to Product class that when you are in a Shop context diferent than Single/Specific shop context you won't update prices fields in multishops.
Source: https://stackoverflow.com/questions/40867954/prestashop-multistore-local-store-prices-are-overwritten-with-price-from-defau
In my case the shops use different tax rules, which are also updated in multishop context, so I have added the key to @sdwebdesign temporary fix,
Also, this temporary fix should be done though an override (/overrides/classes/Product.php), so my override looks like this:
` public function getFieldsShop()
{
$fields = parent::getFieldsShop();
if (Shop::getContext() != Shop::CONTEXT_SHOP) {
unset($fields['price']);
unset($fields['wholesale_price']);
unset($fields['id_tax_rules_group']);
}
return $fields;
}`
Hi guys,
thank you very much for the fix. It works fine on my 1.7.6.x. But do you have any idea, how to stop saving wholesale price per each combination?
When I have different wholesale price for each combination, it's always overwritten by default shop price, when I save the product in All Shop mode.
Thank you for your help
@JanHavlicek you can edit the admin product controller in the symfony src folder /src/PrestaShopBundle/Controller/Admin/ProductController.php.
In the formAction method you can unset the $_POST['combinations'] superglobal depending on the shop context. Around line 540
// check shop context here
if (Shop::getContext() != Shop::CONTEXT_SHOP) {
unset($_POST['combinations']);
} else {
foreach ($_POST['combinations'] as $combinationValues) {
$adminProductWrapper->processProductAttribute($product, $combinationValues);
// For now, each attribute set the same value.
$adminProductWrapper->processDependsOnStock(
$product,
($_POST['depends_on_stock'] == '1'),
$combinationValues['id_product_attribute']
);
}
}
You will also need to include the Shop class at the top of the file:
use Shop;
Obviously I would advise against doing this as it is a core file change, the functionality is not being added via a hook or override.
Hope this helps.