Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

HTML контент - замена \r\n после восстановления БД


Recommended Posts

Доброго времени суток.

 

Проблема в преобразовании символов переноса строки \r\n после стандартного восстановления БД, после чего модуль не может прочитать HTML.

 

Порядок действий

1.Сохраняю разметку в (модуль HTML контент)

 image.png.a44835b37ac00b59a44deb5678afdbab.png

В поле БД setting таблицы module получаю

{"name":"Test","module_description":{"1":{"title":"header","description":"<div>\r\n  <span>Info<\/span>\r\n<\/div>"},"2":{"title":"","description":""}},"status":"1"}

 

2. Делаю экспорт и затем импорт БД

 

3. Получаю отключенный модуль (при открытии все поля пустые)

image.png.f4f41f947c47f9be03361ab1632ee262.png

 

 

и преобразованную разметку в БД:

{"name":"Test","module_description":{"1":{"title":"header","description":"<div>
  <span>Info<\/span>
<\/div>"},"2":{"title":"","description":""}},"status":"1"}
 

\r\n - удалены, вместо этого невидимый перенос строки, при удалении которого все работает.

 

Посоветуйте, как лечить?

 

Конфиг: ocStore 3.02, PHP 7.2, MySQL-8.0, работает на openserver

Змінено користувачем YuryL
Надіслати
Поділитися на інших сайтах


51 минуту назад, YuryL сказал:

\r\n - удалены

Нужно посмотреть экпортированный дамп. Символы перевода каретки должны быть экранированы типа \\r\\n

Надіслати
Поділитися на інших сайтах

8 minutes ago, esculapra said:

Нужно посмотреть экпортированный дамп. Символы перевода каретки должны быть экранированы типа \\r\\n

там так:

INSERT INTO `oc_module` (`module_id``name``code``setting`VALUES ('41''Test''html''{"name":"Test","module_description":{"1":{"title":"header","description":"<div>\r\n  <span>Info<\\/span>\r\n<\\/div>"},"2":{"title":"","description":""}},"status":"1"}');
Надіслати
Поділитися на інших сайтах


3 минуты назад, YuryL сказал:

но в идеале хотелось бы, что бы opencart это делал самостоятельно

нужно смотреть модуль экспорта

Надіслати
Поділитися на інших сайтах

@esculapra

модуль экспорта стандартный - с чистой установки opencart тоже самое. В описаниях товаров происходит тоже самое, за исключением того, что в товаре из система в состоянии прочитать невидимые переносы.

Надіслати
Поділитися на інших сайтах


Решил удалением переносов строк запросом

UPDATE  `oc_module` SET  `setting` = replace(replace(`setting`, char(10), ' '), char(13), ' ')

 

Видимо стандартным экспортом лучше не пользоваться

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.