Здравствуйте!
Подскажите пожалуйста, как ограничить длину заголовка при выводе в списке? (Версия 2.1.1).
То есть, нужна возможность устанавливать количество символов. Где искать? В админке вроде не нашел, в базе смотреть, или где-то в коде можно?
Всем спасибо за ответ.
#1
10 октября 2014 в 13:51
#2
11 октября 2014 в 14:44
Собственно вопрос относится не только к заголовкам, но и к любому другому полю, которое выводится в списке.
Смысл в том, что пользователь, при создании объявления, может писать очень длинный заголовок, или заполнять другое текстовое поле, которые затем в списке отражаются очень не красиво, либо не помещаются в определенный блок.
На многих сайтах это решается обрезанием текста свыше определенного количества символов.
При просмотре записи, все отражается в полном объеме.
Надеюсь объяснил более-менее понятно.
Смысл в том, что пользователь, при создании объявления, может писать очень длинный заголовок, или заполнять другое текстовое поле, которые затем в списке отражаются очень не красиво, либо не помещаются в определенный блок.
На многих сайтах это решается обрезанием текста свыше определенного количества символов.
При просмотре записи, все отражается в полном объеме.
Надеюсь объяснил более-менее понятно.
#3
11 октября 2014 в 16:11
Поскольку в двойке используются php шаблон, то и обрезать придется средствами пхп в файлах шаблона. Например, пусть заголовок хранится в переменной $title, тогда где то в шаблоне должен быть вывод. Как то так:
заменяем на:
где, второй параметр(0) обозначает начальную позицию, ноль — с начала строки — наверно, лучше не трогать.
третий параметр(100) — какую длину оставить, 100 символов — тут ставим сколько нужно.
Обрезание пройдет строго по длине, без учета слов. То есть слово может обрезаться по середине.
Если нужно, чтобы обрезалось с учетом слов, можно так
Примерно так.
<?php echo $title;?>
третий параметр(100) — какую длину оставить, 100 символов — тут ставим сколько нужно.
Обрезание пройдет строго по длине, без учета слов. То есть слово может обрезаться по середине.
Если нужно, чтобы обрезалось с учетом слов, можно так
<?php ?>
Сегодня в 11:10
#4
11 октября 2014 в 16:28
Марат, спасибо. Теперь осталось выяснить какой файл отвечает за вывод контента списком. Не могу найти пока…
Скорее всего это файл /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>
#6
11 октября 2014 в 23:22
Марат, спасибо, все работает! Пробовал менять код и в другом файле отвечающем за стиль списка — default_list_tiles.tpl.php, работает.
Но как говорится, аппетит приходит во время еды. Пока все делал, появился другой вопрос. Как сделать то же самое, только не с заголовком (title), а с другим полем, которое создается админом и выводится в списке, например adress?
Буду очень благодарен за помощь.
Но как говорится, аппетит приходит во время еды. Пока все делал, появился другой вопрос. Как сделать то же самое, только не с заголовком (title), а с другим полем, которое создается админом и выводится в списке, например adress?
Буду очень благодарен за помощь.