<<<1...5...10...35363738394041>>>
Принимаем вопросы от населения
Denisbox |
|
---|---|
Kabak Увы, чем могу:) Есть ещё вот такая статья на css-tricks: https://css-tricks.com/recreating-mdns-truncated-text-effect/ Там более интересное решение, но опять не решает именно вашу задучу.
contact: fonts (at) otlab . ru
|
Kabak |
|
---|---|
по-моему, такая функция существенно упростит жизнь пользователям движка и она должна быть в базовой поставке. |
Denisbox |
|
---|---|
#46874 Kabak: Полностью согласен. Если ничего не путаю, там вроде при обрезке текста выводилось всё в виде HTML и если попадал начальный тег, например strong, а конечный уходил в обрезку, то по итогу всё выглядело не очень красиво. Но я четсно особо не заморачивался и в блок выводил содержимое краткого описания с оформлением блока через CSS. Конечно тоже так себе решение заставлять пользователя делать дополнительные телодвижения, но как вариант. contact: fonts (at) otlab . ru
|
Kabak |
|
---|---|
В движке есть cot_string_truncate() она отлично справляется с HTML разметкой, и она отрезает необходимое количество символов от одной строки, но хотелось бы чтобы она отрезала необходимое количество строк с количеством отображаемых символов не превышающим указанное число учитывая HTML разметку. т.е. функция должна возвращать такую строку которая гарантированно займёт указаное количество строк с указанным количеством символов ( учитывая HTML ) в строке.
Пример такого использования карточки. они должны быть фиксированного размера и текст который в них отображается нужно обрезать, а для красоты обрезать с учётом HTML. пример выглядит не очень, потому , что получается разный размер текста, а именно где-то две строки, а где-то три строки, но да общее количество символов не превышает указанное мной значение.
а вот здесь вот всё шикарно, потому что обезано качественно или изначально контроллируемый объём отображаемых символов не превышающий какую-то длинну. |
|
This post was edited by Kabak (2023-06-12 11:20, 1 year ago) |
Kopusha |
|
---|---|
Функцией php обрезать кол-во строк на фронте? Ну ну. |
Kort |
|
---|---|
В блоковом элементе (div или p, например) текст "врапится" в зависивости от его ширины. При адаптивной верстке пользовательского текста вообще загадка сколько будет чего (и будет ли вообще). Поэтому одновременно управлять количеством символов в строке и количеством строк в блоке теоретически можно только, например, через jquery. Практически есть два нормальных решения. Можно ограничить все одной строкой: .text-truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } Или можно ограничить количество строк: .limitlines2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
Kabak |
|
---|---|
Привет В файле ../themes/имя_темы.php есть строка Schemes=default:Default 1) Что она значит ? Где почитать что может и должно быть в разделе [BEGIN_COT_THEME] ... [END_COT_THEME] 2) Какие обязательные файлы *.tpl должны быть в каталоге темы ? Добавлено 2 дня спустя: cot_rc когда собирает поле для администратора IP | Правка | Удалить Где подставляется какой символ будет разделять эти ссылки на действие ? Добавлено 12 часов спустя: $com_admin = ($auth_admin) ? cot_rc('comments_code_admin', array( 'ipsearch' => cot_build_ipsearch($row['com_authorip']), 'delete_url' => cot_confirm_url(cot_url('plug', 'e=comments&a=delete&cat='.$cat. '&id='.$row['com_id'].'&'.cot_xg()), 'comments', 'comments_confirm_delete') )) : ''; IP | Правка | Удалить Откуда беррутся разделительные символы и как их переопределить на иные ? ( это для коментариев ) Добавлено 16 минут спустя: Cot::$cfg['separator'] В админке можно переопределить ? |
|
This post was edited by Kabak (2023-09-13 08:49, 1 year ago) |
Kort |
|
---|---|
Cot::$cfg['separator'] = '//';
SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
|
This post was edited by Kort (2023-09-14 06:12, 1 year ago) |
Kabak |
|
---|---|
#46902 Kort: Как гораничить количество символов в строке с помощью CSS ? |
Argont |
|
---|---|
#47113 Kabak: конечно я и сам прибегаю к не стандартным решениям, но зачем через каскадные стили таблиц? в котонти делается все просто, если НЕ лезть в движок: карточка статьи page.tpl {PAGE_TEXT|cot_string_truncate($this, '180')} // 180 символов {PAGE_SHORTTITLE|cot_string_truncate($this, '18')} // 18 символов {PAGE_DESC|cot_string_truncate($this, '24')} // 24 символа списки статей page.list.tpl {LIST_ROW_TEXT|cot_string_truncate($this, '180')} // 180 символов {LIST_ROW_SHORTTITLE|cot_string_truncate($this, '18')} // 18 символов {LIST_ROW_DESC|cot_string_truncate($this, '24')} // 24 символа
можно и truncate через js, но тут от конкретной задачи...
Добавлено 22 минуты спустя: #46876 Kabak: что бы не было разного размера текста, лишаем его тегов, задающих ему форматирование, таких как <p>, <br>, <span>, <b>, <strong>, <blockquote> и .д. другими словами, получаем чистый текст с колонки "page_text", из таблицы "prefix_pages" нашей БД. {LIST_ROW_TEXT|strip_tags|mb_substr($this,'75')} примечание: в данном случае, функция будет примененна к тому, что было набрано, например в визуальном редакторе CKEditor. Но если, вышеуказанную конструкцию поместить в HTML-блок, - стили этого блока будут унаследованны, как и HTML-теги. например <div class="name-class-css"> {LIST_ROW_TEXT|strip_tags|mb_substr($this,'75')} </div> <div class="name-class-css"> <span class="other-class-css"> {LIST_ROW_TEXT|strip_tags|mb_substr($this,'75')} </span> </div> <H1> {LIST_ROW_TEXT|strip_tags|mb_substr($this,'75')} </H1> <p> {LIST_ROW_TEXT|strip_tags|mb_substr($this,'75')} </p> тут функция унаследует нагрузку тегов, внутри которых помещенна, но сам "page_text" будет лишен таких тегов (<p>, <h3>, <br>, <small>, <span>, <u>, <sup>, <b>, <strong>, <blockquote> итд) и уже таким образом регулируем для себя количеством символов на 2 строки, на три, как нравится больше ))
Добавлено 1 минута спустя: и что с того, что это реализуем через функции php? экспертное мнение с нумерованным списком недостатков такого решения будет? )) иногда поржать над задравшим подбородок разработчиком
|
|
This post was edited by Argont (2023-09-27 00:53, 1 year ago) |
Kabak |
|
---|---|
Argont , благодарю за ответ. По-моему хорошие варианты решения. |
Argont |
|
---|---|
Kabak |
|
---|---|
Да, лучше и не нужно |
Kort |
|
---|---|
#47114 Argont: Вообще-то вопрос был про CSS. Да и смысл что-то объяснять если включен режим "а вот я так хочу"? Плюс не хочется портить вам момент. Вот здесь с выключенным режимом можно почитать все, что надо с примерами (ахтунг, много букоф, возможны обмороки). SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
Argont |
|
---|---|
#47119 Kort:#47114 Argont: что ж вы раньше то ссылку не дали, интересный вариант, а насчет режима, - это была реакция на пост
без предметного и конструктивного указания в чем же состоит это "ну-ну" иногда поржать над задравшим подбородок разработчиком
|