Суть проблемы
При сохранении поставщика под разными витринами могут отвалится способы доставки.
Как воспроизводится
Добавить еще одну витрину(например 123)
Для этой витрины добавить способ доставки, !!!не расшаривать!!!
Включить модуль поставщики
Добавить поставщика, принадлежащего старой витрине (на дев демо Симтек)
В режиме “Все магазины” на вкладке Доставка редактирования поставщика выбрать все способы доставки, сохранить
Перейти в режим любой из витрин(например 123)
Нажать кнопку сохранить
В результате все способы доставки, которые доступны для данной витрины, останутся включенными, способ, который не доступен для данной витрины - выключится.
Варианты решения
Убрать проверку на company_id в режиме редактирования поставщика при выборке способов доставок
app/addons/suppliers/controllers/backend/suppliers.php
Хранить связь Поставщик-Способ доставки отдельно от товаров, в таблице с принадлежностью к витрине
Мы сообщили разработчикам о данной проблеме.
Здравствуйте, @theangriestman .
Исправление проблемы войдет в CS-Cart / Multi-Vendor v4.10.3. Для применения исправления самостоятельно можно использовать следующий патч:
app-addons-suppliers-controllers-backend-shippings.post.php.diff
diff --git a/app/addons/suppliers/controllers/backend/shippings.post.php b/app/addons/suppliers/controllers/backend/shippings.post.php
index e51c4cd139..8aa64cb7e6 100644
--- a/app/addons/suppliers/controllers/backend/shippings.post.php
+++ b/app/addons/suppliers/controllers/backend/shippings.post.php
@@ -25,6 +25,16 @@ if ($mode == 'update') {
$shipping_data = Tygh::$app['view']->getTemplateVars('shipping');
list($suppliers) = fn_get_suppliers();
+ if (fn_allowed_for('ULTIMATE') && !fn_get_runtime_company_id()) {
+ $suppliers = fn_suppliers_filter_objects_by_sharing(
This file has been truncated. show original
app-addons-suppliers-controllers-backend-suppliers.php.diff
diff --git a/app/addons/suppliers/controllers/backend/suppliers.php b/app/addons/suppliers/controllers/backend/suppliers.php
index 924d8ba317..e9989a6d11 100644
--- a/app/addons/suppliers/controllers/backend/suppliers.php
+++ b/app/addons/suppliers/controllers/backend/suppliers.php
@@ -85,34 +85,47 @@ if ($mode == 'manage') {
} elseif ($mode == 'update' || $mode == 'add') {
- Registry::set('navigation.tabs', array (
- 'general' => array (
This file has been truncated. show original
app-addons-suppliers-func.php.diff
diff --git a/app/addons/suppliers/func.php b/app/addons/suppliers/func.php
index 1b9bc78bc0..9856d149cc 100644
--- a/app/addons/suppliers/func.php
+++ b/app/addons/suppliers/func.php
@@ -12,11 +12,10 @@
* "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. *
****************************************************************************/
-use Tygh\Registry;
+use Tygh\Addons\ProductVariations\ServiceProvider as ProductVariationsServiceProvider;
This file has been truncated. show original
О том, как применить патч, можно прочитать в нашей документации:
https://www.cs-cart.ru/docs/latest/upgrade/apply_diff_file.html
Anastasia
разделил(а) эту тему
24.Март.2020 13:35:49
#4
Сообщение перенесено в новую тему: Поставщики