DLE. Ограничение числа символов выводимых в короткой новости.

Elizium
На сайте с 30.04.2010
Offline
80
4604

Здравствуйте. Возникла небольшая проблема. Движок ДЛЕ 8.3, нужно обрезать количество символов выводимых через custom. Воспользовался хаком из этой темы. Хак работает, новость обрезается, но возникла другая проблема - картинки не выводятся.

Помогите изменить хак чтоб он только обрезал текст. Или может подскажите другое решение этой задачи. Благодарю.

sashka_
На сайте с 27.01.2010
Offline
103
#1

вот только что накидал

открываем engine/modules/show.short.php

находим строчку


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

и выше вставляем


$row['short_story'] = substr($row['short_story'],0,300);

300 заменяете на своё число, тут будет учитывать картинки так что больше берите число

Знаю PHP, JS, jQuery. Помощь для вашего сайта. (/ru/forum/840509).
vandamme
На сайте с 30.11.2008
Offline
675
#2

sashka_, а отсечь картинку не смогли?, было бы неплохо регулярным выражением

sashka_
На сайте с 27.01.2010
Offline
103
#3
sashka_, а отсечь картинку не смогли?, было бы неплохо регулярным выражением

могу прост в первом посте этого не попросили щас выложу.

UPD: вот пробуйте


preg_match_all("#(.+</div>|.+<\!--TEnd-->).{0,10}#is",$row['short_story'],$contents);
$row['short_story'] = $contents[0][0];

тестировал на версии 8.3, число 10 меняем на своё

Elizium
На сайте с 30.04.2010
Offline
80
#4

sashka_, спасибо огромное, все отлично работает!

vandamme
На сайте с 30.11.2008
Offline
675
#5

число 10 это число картинок?

sashka_
На сайте с 27.01.2010
Offline
103
#6
Elizium:
sashka_, спасибо огромное, все отлично работает!

пожалуста, число 10 это количество символов

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