Некорректная работа полей 2.X

 
Посетитель
small user social cms
Сообщений: 42
Если обрезать текст при просмотре списка до определенного числа, то указанная длина не соблюдается и хаотично обрезает текст. Ошибка так же воспроизводится и на демо сайте...
Скриншоты
Редактировалось: 1 раз (Последний: 5 февраля 2020 в 17:26)
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатий
Сообщений: 569
Обрезается правильно, именно так, как заложено в движке - до полного предложения. То есть, ищет символы [.!?…] на позиции меньше, чем указанное ограничение.
Если хотите изменить поведение по-умолчанию для всего сайта на "обрезать по окончанию слова" вместо "по предложению", измените в вызове функции string_short
Код PHP:
  1. function string_short($string, $length = 0, $postfix = '', $type = 's'){
значение $type = 's' на $type = 'w'. Или подставьте любой другой символ для обрезки строго по количеству символов без учёта слов и предложений.
Если нужно обрезать по-новому только в списке контента или в виджетах - найдите вызов функции string_short в соответствующем месте кода (где создаётся список или виджет) и добавьте в вызов третий параметр $type с нужным значением.
Редактировалось: 1 раз (Последний: 6 февраля 2020 в 02:03)
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 283
WebMan, кстати, не подскажите ли, почему в указанной функции вот здесь вырезается </p>, а <p> не вырезается?
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатий
Сообщений: 569
</p> не вырезается, а заменяется пробелом, как и остальные признаки конца строки. Это нужно для корректного объединения абзацев через пробел.
А вот следующая строка вырезает все оставшиеся теги, включая <p>.
Посетитель
small user social cms
Медаль
Сообщений: 283
WebMan, да, вы правы.
Посетитель
small user social cms
Сообщений: 42
WebMan, спасибо Вам большое. Даже не обратил на это внимание. За решение то же, большое спасибо.
Тему закрываю
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: