Неизвестно почему, но многие из открытых расширений для вывода анонсов комментариев, статей и т.п. имеют обыкновение обрезать анонсы посередине слова, то есть совсем не по фэншую.
При этом апгрейд substr размером с одну строку кода.
Рассмотрим тот самый апгрейд на примере модуля mod_janewslight входящего в комплект хорошего joomla-шаблона ja_erica.
Суть модуля в выводе анонса статьи с картинкой управляемая расширенными настройками.
В файле modules\mod_janewslight\ja_newslight\common.php, подключаемом к основному скрипту модуля, находим строчки обрезания анонса:
$row->introtext1 = strip_tags($row->introtext); if ($maxchars && strlen ($row->introtext) > $maxchars) { $row->introtext1 = substr ($row->introtext1, 0, $maxchars) . "..."; } |
И модифицируем их:
$row->introtext1 = strip_tags($row->introtext); // очищаем строку от html и php-тегов if ($maxchars && strlen ($row->introtext) > $maxchars) { // проверяем существование переменной $maxchars и его меньший размер по сравнению с обрезаемым анонсом $length = strripos(substr($row->introtext1, 0, $maxchars), ' '); // ищем позицию последнего пробела в куске анонса $row->introtext1 = substr($row->introtext1, 0, $length) . '...'; // обрезаем по позиции найденного пробела } |
При этом вмешательство в скрипты модуля сведены к минимуму, т.е. например, $maxchars это все также количество символов в «анонсе анонса» статьи, которое задается в поле «Max Chars» настроек модуля.
Спасибо, пригодилось!
То, что нужно! Спасибо!!!
Спасибо помогло!