Не отображается анонс в некоторых нодах с ограничением по кол-ву символов

Главные вкладки

Аватар пользователя Telefax Telefax 15 июня 2016 в 16:58

Все ноды одинаковые, везде одинаковый тип поля Body (фильтрованный html), текст внутри тэгов <p></p>. Так вот в некоторых нодах в режиме анонса body не выводится вообще, если стоит, к примеру, ограничение на 400-600 символов. Если поставить 1500 то выводится.

Тоже самое с представлениями, если поставить ограничение поля 600 символов, а потом обрезку до 180 -- пусто, если увеличить поле до 1500, а обрезку оставить 180 -- работает. Но такая ерунда с единичными нодами. Если со views проблема решается, то с анонсами если ставить 1500 то разносит разметку...

Как найти причину глюка?

Комментарии

Аватар пользователя bumble bumble 15 июня 2016 в 17:26
1

400-600 это количество всех символов, включая теги и их атрибуты. Проверьте, нет ли мега-разметки в начале материала или кучи пробелов, например.

Аватар пользователя Telefax Telefax 22 июня 2016 в 0:29

Полез смотреть что же в лежит в базе в поле body, там никаких лишних тегов, при копировании из базы в notepad++ видно, что там:
<p>CRLF TAB И потом уже текст...</p>
Всего notepad++ насчитывает (вместе со спецсимволами) 607 символов.
Так вот, если делаю кол-во символов до первого перевода строки равным 400 (или менее), все отображается корректно, хотя бы на 1 больше -- нет анонса. Убираю CRLF, работает корректно даже если до первого перевода строки более 400 символов.

В body других нод тоже есть CRLF и tab, но это не мешает их отображение в анонсах, видимо там залог успеха в том, что первый перевод строки случается до 400го символа и это не мешает выводу анонса.

Глюк?

Аватар пользователя Telefax Telefax 22 июня 2016 в 22:26

В общем решение в следующем, в настройках CKEDITOR:

Снять все галки:
Custom formatting options
Indent the element contents.
Break line before the opening tag.
Break line after the opening tag.
Break line before the closing tag.
Indent the

 element contents.

Кроме:
Break line after the closing tag.