Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Почему удаляется весь текст в полной новости?

Почему удаляется весь текст в полной новости?


     18.02.2019    dle    Все вопросы » Общие вопросы    201

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

Максимально тупая и непонятная ситуация:
Есть большой текст. Несколько таблиц, списков, цитат (blockquote). Все ок. Но когда я добавляю в этот текст тег аббревиатуры (), то после сохранения он обрезается. Начал экспериментировать - ещё большая тупость: полное удаление текста зависит от того, в какое место я вставил этот тег. Причем полный рандом, без каких-то закономерностей. Вставлял в текст в конец в одном и то же предложение, но после разных слов: в одном случае после сохранения все ок, в другом весь текст удаляется.

Может есть умы, которые подскажут, куда вообще копать, с чем такое может быть связано.

С размером текста это точно не связано - в mysql для full story LONGTEXT. Тестировал как с включенным парсером (parse.class, который обрезает теги), так и с выключенным.

Ответа пока нет


32 комментария

AlexeySawyer
Юзер

AlexeySawyer - 18 февраля 2019 18:12 -

upp: Пробовал это делать через разные редакторы DLE - без разницы. DLE v.12.1

AlexeySawyer
Юзер

AlexeySawyer - 18 февраля 2019 18:33 -

UPPP: Начал сверху вниз вставлять этот тег и проверять, в какой момент случается эта проблема. Получилось выявить, что после определенного момента этот тег можно спокойно использовать. Грубо говоря во втором половине текста. Причем сколько угодно раз и где угодно. Но при этом в первой половине при вставке кода весь текст полностью обреазается.

dj-avtosh
php-developer

dj-avtosh - 18 февраля 2019 18:43 -

Приветствую. Была подобная тема тут. Можете показать в консоли браузера в network тело post запроса?

telegram: @blob42
skype: elhan.isaev (seldom)

AlexeySawyer
Юзер

AlexeySawyer - 18 февраля 2019 18:55 -

Точно не знаю, та вкладка или нет, если что, уточните, пожалуйста. Это POST запрос после нажатия на кнопку сохранить новость (та версия, которая постоянно обрезается) http://i.yapx.ru/DZfeA.png

dj-avtosh
php-developer

dj-avtosh - 18 февраля 2019 19:01 -

Тот, но на скрине нет поля с текстом.

telegram: @blob42
skype: elhan.isaev (seldom)

AlexeySawyer
Юзер

AlexeySawyer - 18 февраля 2019 19:09 -

На скрине попали все поля, которые во вкладке Заголовки. Во вкладке Параметры вот это http://i.yapx.ru/DZf8j.png. В поле full_story: ~100 символов начала текста...~100 символов конца текста.
В остальных вкладках вроде как ничего интересного

dj-avtosh
php-developer

dj-avtosh - 18 февраля 2019 19:11 -

Покажите подробное содержимое поля full_story:

telegram: @blob42
skype: elhan.isaev (seldom)

AlexeySawyer
Юзер

AlexeySawyer - 18 февраля 2019 19:14 -

http://i.yapx.ru/DZgGL.png это все, что показывает

dj-avtosh
php-developer

dj-avtosh - 18 февраля 2019 19:18 -

после такого запроса какой в итоге текст получается в таблице?

telegram: @blob42
skype: elhan.isaev (seldom)

AlexeySawyer
Юзер

AlexeySawyer - 18 февраля 2019 19:19 -

В таблице пустота (в full_story, остальные поля заполняются как надо). Кстати, если вставить код через базу данных прям в поле full_story, то на сайте все хорошо отображается. Но при этом, если перейти в панели управления в редактирование новости, то там пусто. И если нажать сохранить - снова везде пустота.

dj-avtosh
php-developer

dj-avtosh - 18 февраля 2019 19:22 -

Переключите на bb-редактор, вставьте и сохраните текст. Верните обратно на обычный редактор: посмотрите, отрезалось ли на сайте.

telegram: @blob42
skype: elhan.isaev (seldom)

AlexeySawyer
Юзер

AlexeySawyer - 18 февраля 2019 19:30 -

Без изменений - пустота. Или я что-то не так понял. Зачем после сохранения менять редактор, если в базе данных все равно пустота.

dj-avtosh
php-developer

dj-avtosh - 18 февраля 2019 19:32 -

мне нужно было понять, что именно режет на DLE этот текст. Поэтому сперва нужно было сменить редактор на bb, потом сохранить в bb - и посмотреть попадет ли в базу.

telegram: @blob42
skype: elhan.isaev (seldom)

AlexeySawyer
Юзер

AlexeySawyer - 18 февраля 2019 19:45 -

Есть какие-нибудь идеи? Через BB добавил тот же самый текст, но с <abbr> ближе к концу - все отлично работает. Только я переместил этот тег в первую половину - все режется. Информация в консоли в POST запросе почти ничем не отличается (когда все ОК и когда не ОК). Если анализировать текст в поле full_story POST запроса, то они полностью одинаковые. Начальные символы, потом ..., и конечные символы.

Думал дело мб в криво закрытых тегах - перепроверил, все ок. w3c валидатор не видит ни одной ошибки в коде.

dj-avtosh
php-developer

dj-avtosh - 18 февраля 2019 19:49 -

Если юзаете визивик, то в /engine/inc/editnews.php найдите и удалите строчку:

$full_story = $db->safesql( $parse->BB_Parse( $full_story ) );


После этого очистите кэш в админке.

Далее добавьте текст, и сохраните.

Далее отпишитесь сюда, как выглядит текст в таблице.

telegram: @blob42
skype: elhan.isaev (seldom)

AlexeySawyer
Юзер

AlexeySawyer - 18 февраля 2019 20:02 -

Все сделал. После сохранения также пустота и в базе, и в панели управления. Кэш чистил.

Если добавлять текст без abbr, то все ок. В базе отображается так же, как и всегда.

Если же текст в таблице = текст в консоли в POST запросе, то вообще без изменений.

Не знаю, значит это что-то или нет, но, если добавить этот косячный текст через статическую страницу, то все ок.

Также попробовал сделать все через дополнительное поле (Тип поля - чистый JS и HTML) - все отлично работает

dj-avtosh
php-developer

dj-avtosh - 18 февраля 2019 20:04 -

это 100% на бэке + на фронте вывод улетает, походу.

Есть такая штука как HTMLPurifier в dle, так вот она тесно связана с abbr-тегом. Но вы явно не убрали строчку, о которой я говорил.

Попробуйте тогда убрать и
$full_story = $db->safesql( $parse->BB_Parse( $full_story ) );


и

$full_story = $db->safesql( $parse->BB_Parse( $full_story, false ) );


потом очистить кэш! И после этого только редактировать ПОЛНОЕ описание новости.

И смотрите в БД.

telegram: @blob42
skype: elhan.isaev (seldom)

dj-avtosh
php-developer

dj-avtosh - 18 февраля 2019 20:08 -


Вот четкий пример Вашего abbr тега

telegram: @blob42
skype: elhan.isaev (seldom)

AlexeySawyer
Юзер

AlexeySawyer - 18 февраля 2019 20:13 -

Удалил обе строчки - в БД наконец-то не пусто. Появился весь текст, но вместо тегов символы http://i.yapx.ru/DZi71.png (блин, в конце ссылки почему-то точка добавляется и ссылка типа не рабочая. Удалите в браузере её, если что). На сайте и в панели управления в редактировании новости же начальный HTML код: <blockquote class="start"><span class="info">Краткое описание статьи</span>
<p>Здесь краткое описание статьи, в котором говорится, <abbr title="Привет">родителем</abbr> что мы супер подробно рассмотрим данную тему со всех сторон короче читайте не пожалеете.</p>.....

dj-avtosh
php-developer

dj-avtosh - 18 февраля 2019 20:15 -

а тут уже надо поговорить о том, что у Вас юзается в качестве редактора в админке - Froala?

telegram: @blob42
skype: elhan.isaev (seldom)

AlexeySawyer
Юзер

AlexeySawyer - 18 февраля 2019 20:16 -

Конкретно в этом случае был использован FroalaEditor, да.

dj-avtosh
php-developer

dj-avtosh - 18 февраля 2019 20:18 -

те строчки нужно вернуть обратно, без них юзать двиг опасно.

telegram: @blob42
skype: elhan.isaev (seldom)

AlexeySawyer
Юзер

AlexeySawyer - 18 февраля 2019 20:31 -

Код вернул. А как быть с проблемой? В принципе меня устроит добавление через дополнительное поле, которое работает. Но тут уже реально стало интересно, почему такое происходит и как быть.

dj-avtosh
php-developer

dj-avtosh - 18 февраля 2019 20:41 -

В первую очередь froalaEditor не поддерживает и вырезает из исходного кода Ваш abbr.

Убедиться просто:

На странице редактирования новости в админке в консоли браузера, запустить:

$('.wysiwygeditor#full_story').text()


Вы увидите свой abbr.

telegram: @blob42
skype: elhan.isaev (seldom)

AlexeySawyer
Юзер

AlexeySawyer - 18 февраля 2019 20:49 -

Но при этом, если добавить аббр в конец статьи, то он работает )

dj-avtosh
php-developer

dj-avtosh - 18 февраля 2019 20:59 -


При bb-редакторе:

telegram: @blob42
skype: elhan.isaev (seldom)

dj-avtosh
php-developer

dj-avtosh - 18 февраля 2019 21:00 -


TinyMCE

В общем Froala с багом.

telegram: @blob42
skype: elhan.isaev (seldom)

AlexeySawyer
Юзер

AlexeySawyer - 19 февраля 2019 09:26 -

Добрый день. В итоге и так и не понял, как решить эту проблему. Из скринов выше что нужно было понять? Если вставлять abbr-ки, когда текста мало, то они работают в любом редакторе. А вот если много, как у меня, то косяк в любом редакторе, в том числе tinyMCE.

dj-avtosh
php-developer

dj-avtosh - 19 февраля 2019 11:16 -

Напишите в тех. поддержку дле. Это баг с обработкой фронтенд-части.

telegram: @blob42
skype: elhan.isaev (seldom)

AlexeySawyer
Юзер

AlexeySawyer - 19 февраля 2019 12:25 -

Ок, спасибо за участие в решении этой проблемы.

dj-avtosh
php-developer

dj-avtosh - 19 февраля 2019 14:07 -

Для спасибо у нас есть кнопка в правом верхнем углу каждого комментария.

telegram: @blob42
skype: elhan.isaev (seldom)

AlexeySawyer
Юзер

AlexeySawyer - 18 февраля 2019 19:18 -

Попросил проверить человека на своем сайте - DLE 10.6. У него все ОК независимо от того, где и сколько раз этот abbr встречается.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх