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

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 5 февраля 2020 в 17:25
Если обрезать текст при просмотре списка до определенного числа, то указанная длина не соблюдается и хаотично обрезает текст. Ошибка так же воспроизводится и на демо сайте…

#2 6 февраля 2020 в 01:59
Обрезается правильно, именно так, как заложено в движке — до полного предложения. То есть, ищет символы [.!?…] на позиции меньше, чем указанное ограничение.
Если хотите изменить поведение по-умолчанию для всего сайта на "обрезать по окончанию слова" вместо "по предложению", измените в вызове функции string_short
  1. function string_short($string, $length = 0, $postfix = '', $type = 's'){
значение $type = 's' на $type = 'w'. Или подставьте любой другой символ для обрезки строго по количеству символов без учёта слов и предложений.
Если нужно обрезать по-новому только в списке контента или в виджетах — найдите вызов функции string_short в соответствующем месте кода (где создаётся список или виджет) и добавьте в вызов третий параметр $type с нужным значением.
#3 6 февраля 2020 в 10:29
WebMan, кстати, не подскажите ли, почему в указанной функции вот здесь вырезается </p>, а <p> не вырезается?
#4 6 февраля 2020 в 10:36
</p> не вырезается, а заменяется пробелом, как и остальные признаки конца строки. Это нужно для корректного объединения абзацев через пробел.
А вот следующая строка вырезает все оставшиеся теги, включая <p>.
#5 6 февраля 2020 в 10:46
WebMan, да, вы правы.
#6 6 февраля 2020 в 22:20
WebMan, спасибо Вам большое. Даже не обратил на это внимание. За решение то же, большое спасибо.
Тему закрываю
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.