Как обрезать заголовок?
Подскажите пожалуйста, как ограничить длину заголовка при выводе в списке? (Версия 2.1.1).
То есть, нужна возможность устанавливать количество символов. Где искать? В админке вроде не нашел, в базе смотреть, или где-то в коде можно?
Всем спасибо за ответ.
Смысл в том, что пользователь, при создании объявления, может писать очень длинный заголовок, или заполнять другое текстовое поле, которые затем в списке отражаются очень не красиво, либо не помещаются в определенный блок.
На многих сайтах это решается обрезанием текста свыше определенного количества символов.
При просмотре записи, все отражается в полном объеме.
Надеюсь объяснил более-менее понятно.
<?php echo $title;?>
третий параметр(100) — какую длину оставить, 100 символов — тут ставим сколько нужно.
Обрезание пройдет строго по длине, без учета слов. То есть слово может обрезаться по середине.
Если нужно, чтобы обрезалось с учетом слов, можно так
<?php ?>
Скорее всего это файл /templates/default/content/default_list.tpl.php. Строка 66:Теперь осталось выяснить какой файл отвечает за вывод контента списком
<a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"><?php echo htmlspecialchars($item[$field['name']]); ?></a>
<a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"><?php ?></a>
Но как говорится, аппетит приходит во время еды. Пока все делал, появился другой вопрос. Как сделать то же самое, только не с заголовком (title), а с другим полем, которое создается админом и выводится в списке, например adress?
Буду очень благодарен за помощь.
Извините! Может кто знает как обрезать заголовок в версии 2.16.3? шаблон Modern
klumba, klumba, нужны подробности. Обрезать где? До какого состояния?
Zau4man, обрезать в тип поля Заголовок, по количеству символов.
klumba, при выводе заголовков в виджетах и записях типа контента результат работы поля не используется. Нужно править вывод заголовка в шаблоне.
В движке есть удобная функция для обрезки string_short github.com/instantsoft/icms2/blob/bb96c18544148da1e58293812ded78890784160a/system/libs/strings.helper.php#L705C10-L705C22
Если передать ей строку, и количество символов для обрезки, она вернет обрезанную строку.
Пример использования
string_short($item[$field['name']], 10)
Рассмотрим обрезку заголовка на примере раздела новости. После установки движка для вывода новостей используется Журнальный стиль вывода
Найдем этот файл templates\modern\content\default_list_featured.tpl.php
И отредактируем. Заменим в нем в двух местах
<?php html($item[$field['name']]); ?>
на
<?php html(string_short($item[$field['name']], 10)); ?>
Это укоротит заголовки до 10 символов в списке новостей
По аналогии можно укоротить и в виджетах, их шаблоны лежат в папке templates\modern\controllers\content\widgets\list\list.tpl.php
И в самих записях, заменив в файле templates\modern\content\default_item.tpl.php
<?php html($item['title']); ?>
на
<?php html(string_short($item['title'], 10)); ?>
Спасибо!!! Всё получилось.