Форуми / National / Russian / Тех. поддержка / Запросы документации

Принимаем вопросы от населения

Argont
#47114 26.09.2023 22:41
#47113 Kabak:

Как гораничить количество символов в строке с помощью CSS ?

конечно я и сам прибегаю к не стандартным решениям, но зачем через каскадные стили таблиц?

в котонти делается все просто, если НЕ лезть в движок:

карточка статьи page.tpl

PHP
1
2
3
{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

PHP
1
2
3
{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" нашей БД.

PHP
1
{LIST_ROW_TEXT|strip_tags|mb_substr($this,'75')}

примечание: в данном случае, функция будет примененна к тому, что было набрано, например в визуальном редакторе CKEditor. Но если, вышеуказанную конструкцию поместить в HTML-блок, - стили этого блока будут унаследованны, как и HTML-теги. например

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<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?

экспертное мнение с нумерованным списком недостатков такого решения будет? ))

иногда поржать над задравшим подбородок разработчиком

Відредаговано: Argont (27.09.2023 00:53, 1 рік тому)