Баг в модуле Соответствие GDPR (Общему регламенту по защите данных в ЕС)

Где возникла проблема: Multi-Vendor v4.15.1.SP2 RU

Суть проблемы:
Мелькает текстовая переменная которая потом меняется на корректный текст https://skr.sh/vFWFTNbkKbe
Это примерно 5-ая секунда https://skr.sh/sFWxMXyAsms
Чем дольше загружается страница, тем отчетливее видно этот момент.

Как воспроизвести проблему:
Включить модуль Соответствие GDPR отключить кэш.
Согласие на файлы cookie - неявное.

Здравствуйте, @sweetcode
Спасибо за ваше сообщение.

Проблему воспроизвела, передала информацию разработчикам.

1 лайк

Здравствуйте, @sweetcode!
Проблема исправлена, исправление войдет в следующий релиз CS-Cart и Multi-Vendor
Для исправления проблемы собственными силами можно использовать патч:


О том, как применить патч, можно прочитать в нашей документации: https://www.cs-cart.ru/docs/latest/upgrade/apply_diff_file.html

1 лайк

@Asya
Помогите пожалуйста.В 22 году ваша команда выкладывала Diff на исправление ошибки, выше. И в первой части указан код:

diff --git a/_tools/migration/scripts/4.15.3/post_script.php b/_tools/migration/scripts/4.15.3/post_script.php
new file mode 100644
index 0000000000…32d813528b
— /dev/null
+++ b/_tools/migration/scripts/4.15.3/post_script.php

Где находится эта директория - _tools/migration/scripts/4.15.3/post_script.php ??

Здравствуйте, @Andrey123

Для исправления проблемы выполните следующие шаги:

  1. создайте бекап на всякий случай.

  2. в файле app/addons/gdpr/func.php
    измените строку 403
    file_put_contents($file_path, 'var klaroConfig = ' . json_encode($klaro_config) . ';');

на следующую строку

file_put_contents($file_path, 'var cookieConfig = ' . json_encode($klaro_config) . ';');

  1. в файле js/addons/gdpr/func.js
    измените строки начиная с 35 строки
  $('document').ready(function () {
    if (typeof klaroConfig !== 'undefined' && klaroConfig.services.length) {
      klaroConfig = normalizeTranslations(klaroConfig);
      klaro.setup(klaroConfig);

на строки

  $('document').ready(() => {
    if (typeof cookieConfig !== 'undefined' && cookieConfig.services.length) {
      const normilizedConfig = normalizeTranslations(cookieConfig);
      klaro.setup(normilizedConfig);
  1. в корне вашей установки создайте файл script.php со следующим содержимым:
<?php
use Tygh\Registry;
define('AREA', 'A');
define('ACCOUNT_TYPE', 'admin');

require(dirname(__FILE__) . '/init.php');

if (Registry::get('addons.gdpr.status')) {
    $klaro_config = fn_gdpr_get_klaro_config();
    fn_gdpr_save_js_config($klaro_config);
}
  1. очистите кэш вашей установки через параметр ?cc&tpl в адресной строке админки https://ваш_домен/ваша_админка.php?cc&tpl

  2. запустите скрипт https://ваш_домен/script.php

  3. переустановите модуль Соответствие GDPR в вашей панели администратора

спасибо.

Вы не знаете, при переустановке GDPR пропадут измененные тексты уведомлений?