Как обрезать текст в краткой новости DLE?

[Удален]
3658

Здравствуйте

Нужно что бы обрезало текст в краткой новости DLE по 1ю строчку

Пробовал данный хак:

$tpl->set( '{short-story}', stripslashes( "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;\">" . substr($row['short_story'], 0, 300) . " ...</div>" ) );

Но он затрагивает картинку.

Так как все таки обрезать то? А то блоки не ровно стоят... Может его как то под шаблон загнать? :confused:

[Удален]
#1

ап

-----------

WebJunior
На сайте с 11.06.2010
Offline
155
#2

DLE 9.6:

21. Для шаблона вывода краткой новости (shortstory.tpl) добавлен новый тег {short-story limit="x"} который выводит только текст краткой новости без HTML форматирования, при этом сам текст публикации сокращается до указанного X количества символов.

..........

Мой сайт на этом хостинге - https://tuthost.ua/?from=2558 / Верстаю шаблоны (темы с отзывами: https://searchengines.guru/ru/forum/763758, https://searchengines.guru/ru/forum/600404 ).
[Удален]
#3
WebJunior:
DLE 9.6:
..........

у меня 9.5...

[Удален]
#4
Xnokie1:
Здравствуйте
Нужно что бы обрезало текст в краткой новости DLE по 1ю строчку
Пробовал данный хак:

Но он затрагивает картинку.
Так как все таки обрезать то? А то блоки не ровно стоят... Может его как то под шаблон загнать? 😕

Если это сайт-газета, может стоит попробовать скрипт от Пафнутия?

Этот скрипт нормально блоки равняет, правда, пробелы появляются по высоте, но блоки стоят ровно, обрезка не нужна.

Глянуть скрипт можно здесь:

http://pafnuty.name/statyi/96-novosti-v-dve-tri-chetyre-i-td-kolonki-razvitie-mysli.html

P
На сайте с 14.06.2012
Offline
22
#5

ищем в show.short.php

$tpl->set( '{short-story}', "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;\">" . $row['short_story'] . "</div>" );

меняем на

if ( preg_match( "#\\{short-story limit=['\"](.+?)['\"]\\}#i", $tpl->copy_template, $matches ) ) {

$count= intval($matches[1]);

$row['short_story'] = str_replace( "</p><p>", " ", $row['short_story'] );
$row['short_story'] = strip_tags( $row['short_story'], "<br>" );
$row['short_story'] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "\n", " ", str_replace( "\r", "", $row['short_story'] ) ) ) ));

if( $count AND dle_strlen( $row['short_story'], $config['charset'] ) > $count ) {

$row['short_story'] = dle_substr( $row['short_story'], 0, $count, $config['charset'] );

if( ($temp_dmax = dle_strrpos( $row['short_story'], ' ', $config['charset'] )) ) $row['short_story'] = dle_substr( $row['short_story'], 0, $temp_dmax, $config['charset'] );

}

$tpl->set( $matches[0], "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;\">" . $row['short_story'] . "</div>" );

} else $tpl->set( '{short-story}', "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;\">" . $row['short_story'] . "</div>" );

и еще по мелочи подцепить моментов и будет работать как на 9.6 {short-story limit="x"}

но тоже без картинки

Надежные и быстрые VDS для сайта. Всего от 149 рублей. (http://goo.gl/pQcDi)
[Удален]
#6

Ниче ваще не подходит (((

Coolmac
На сайте с 08.09.2011
Offline
60
#7

Нужно вначале удалить теги из текста новости, а потом уже обрезать только текст.

Доступные vps/ds с грамотной тех. поддержкой (https://my.friendhosting.net/pl.php?11304)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий