Где возникла проблема: 4.13.3, на dev.demo.cs-cart.ru воспроизводится.
Суть проблемы: После обновления до 4.13.3 в деталях заказа вылез блок “Адрес плательщика” и его невозможно убрать:
Поля профиля отключены:
“Очевидная” настройка, проделанная заново, тоже не помогает: При редактировании профиля не дает сохранить без заполнения Плательщика - #14 от пользователя asamoylenko
При этом, при редактировании заказа блок отсутствует:
Скорее всего всплывает потому, что при оформлении заказа в поля b_country, b_state, b_city в таблице cscart_orders, теперь стали записываться данные из геолокации, хотя до 4.13.3 при отключенном блоке “Адрес плательщика” туда ничего не записывалось.
Также блок появился в старых заказах, хотя в БД у этих заказов в полях плательщика пусто. То есть он копирует данные из “Адреса доставки”.
До версии 4.13.3 такой проблемы не было.
Как воспроизвести проблему: Выполнить шаги из инструкции При редактировании профиля не дает сохранить без заполнения Плательщика - #14 от пользователя asamoylenko и оформить заказ.
1 лайк
Спасибо за информацию
Вижу, что задачу уже передали разработчикам после вашего обращения в Help desk.
1 лайк
Здравствуйте, @albinoz !
Проблема исправлена, исправление войдет в следующий релиз CS-Cart и Multi-Vendor
Для исправления проблемы собственными силами можно использовать патч:
app-functions-fn.cart.php.diff
diff --git a/app/functions/fn.cart.php b/app/functions/fn.cart.php
index e9f58a930c..c2c05533b1 100644
--- a/app/functions/fn.cart.php
+++ b/app/functions/fn.cart.php
@@ -10437,7 +10437,7 @@ function fn_filter_order_user_data($user_data)
}, $user_data);
$result = array();
$fields = db_get_fields(
- "SELECT field_name FROM ?:profile_fields WHERE (checkout_show = 'Y' OR is_default = 'Y') AND field_name != ''"
+ "SELECT field_name FROM ?:profile_fields WHERE checkout_show = 'Y' AND is_default = 'Y' AND field_name != ''"
This file has been truncated. show original
app-functions-fn.users.php.diff
diff --git a/app/functions/fn.users.php b/app/functions/fn.users.php
index 0cd5dc7b57..3a07d8b126 100644
--- a/app/functions/fn.users.php
+++ b/app/functions/fn.users.php
@@ -107,7 +107,7 @@ function fn_get_user_info($user_id, $get_profile = true, &$profile_id = null)
$user_data['fields'] = fn_get_profile_fields_data(ProfileDataTypes::USER, $user_id);
if ($get_profile && !empty($profile_data['profile_id'])) {
- $user_data['fields'] += fn_get_profile_fields_data(ProfileDataTypes::PROFILE, $profile_data['profile_id']);
+ $user_data['fields'] = fn_get_profile_fields_data(ProfileDataTypes::PROFILE, $profile_data['profile_id']) + $user_data['fields'];
This file has been truncated. show original
О том, как применить патч, можно прочитать в нашей документации: https://www.cs-cart.ru/docs/latest/upgrade/apply_diff_file.html
1 лайк
da3020
01.Март.2023 09:57:43
5
Адрес доставки и адрес плательщика живут своей жизнью в заказах. Откуда вообще берётся адрес плательщика, если всё отключено?
1 лайк
Ну потому что архитектор так видит
Я просто в шаблоне этот блок убрал руками. Совершенно бесполезная информация, как мне кажется.
1 лайк
ARTUR
02.Март.2023 04:17:07
7
Не подскажете что именно вырезали?
Файл /design/backend/templates/views/order_management/components/profiles_info.tpl
2 лайка
Once you contacted the help desk, I see that the assignment has already been given to the developers.