shortstory.tpl (ограничение на количество символов в новости)

cvitex
На сайте с 30.08.2008
Offline
26
3556

Вообще вопрос такой, есть DLE 8.2 Есть сайт который изначально был на резиновом шаблоне, стал вопрос о смене шаблона с фиксированной шириной, в итоге текст вылазит слишком сильно (туда где он не должен быть) стоит вопрос как ограничить количество символов в короткой новости (авто обрезка) спасибо за внимание. и возможно ли ограничение текста по ширине (те шаб пусть растянет а текст будет фиксирован.

A5
На сайте с 15.07.2009
Offline
6
#1

Вот в ДЛЕ хорошо разберается, я постоянно к нему обращяюсь

ICQ911135

Константинович
На сайте с 13.09.2008
Offline
319
#2

Модуль обрезает количество символов в короткойновости и добавляет новую переменную (в 7.5 чёт не работает или я идиот), отвечающую за вывод картинки

1. Открываем файл show.short.php (в поставке расположен /engine/modules)

После строк:

if(!defined('DATALIFEENGINE'))

{
die("Hacking attempt!");
}

Добавляем:

//Красивый выод by elektroshok (creostyle)
function get_img_basic($text){
preg_match('|<img(.*) src="([^"]*)"[^>]*>|is', $text, $out);
return $out[2];
};
$charshort = 100; //Количество символов в краткой новости
//Красивый выод by elektroshok (creostyle)

В этом же файле находим:

$tpl->copy_template = str_replace("[xfvalue_{$preg_safe_name}]", stripslashes($xfieldsdata[$value[0]]), $tpl->copy_template);
}
}
// Обработка дополнительных полей

После вставляем:

//Красивый выод by elektroshok (creostyle)
$search = array ("'<script[^>]*?>.*?</script>'si",
"'<[\/\!]*?[^<>]*?>'si",
"'([\r\n])[\s]+'",
"'&(quot|#34);'i",
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i",
"'&#(\d+);'e");
$replace = array ("",
"",
"\\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
"chr(\\1)");
$img = get_img_basic($row['short_story']);
$img_t= str_replace('thumbs/','',$img);
$images_show = "<!--ThumbBegin--><a href=\"$img_t\" onClick='return hs.expand(this)'>";
$images_show_a = "</a><!--ThumbEnd-->";
$images = $images_show."<img src=\"$img\" border=\"0\" alt=\"$title\">".$images_show_a;
$row['short_story'] = preg_replace( $search,$replace, $row['short_story'] );
$row['short_story'] = substr (stripslashes($row['short_story']), 0, $charshort);
//Красивый выод by elektroshok (creostyle)

Как работать

Теперь вам при добавлении краткой новости не надо задумываться о том что вы испортите вид главной страницы, так же не надозадумывать как выравнивать изображения (они всегда будут там где вы их поставите)

Для изменения количства сообщений, поменяйте значение переменной

$charshort = 100; //Количество символов в краткой новости

А в шаблоне в нужном для вас месте поставте новую переменную вывода {image}

Нужны финансы? Быстрая скупка (http://dragmettorg.com/skupka_zolota/). Цены на сайте. А потом отыграй из на казино онлайн правила (http://premium-games.ru/)
cvitex
На сайте с 30.08.2008
Offline
26
#3

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

http://pic.ipicture.ru/uploads/090915/45360/3uo41qeMo7.jpg

Вот что имелось ввиду там новостей 600 все редактировать ппц будет, (на многих текст выходит далеко вниз за карттинку ) а с обрезкой все будет красиво под ленеечку.

глянул короткую новость после модификации, ссылка на картинку есть но она почему-то не показывает..

Константинович
На сайте с 13.09.2008
Offline
319
#4
cvitex:
Намудрено с картинкой...

ага, я сам не понял, как там это реализуется

cvitex:
можно ли просто обрезку текста чтоб не затрагивало стандартный вывод картинки?

да, можно, только не использовать тег {image}

cvitex
На сайте с 30.08.2008
Offline
26
#5

{image} я этот тег никуда не вставляю, просто сделал модификацию, картинки не показывает..

Константинович
На сайте с 13.09.2008
Offline
319
#6

cvitex, попробуй вставить только это:

//Красивый выод by elektroshok (creostyle) 

function get_img_basic($text){
preg_match('|<img(.*) src="([^"]*)"[^>]*>|is', $text, $out);
return $out[2];
};
$charshort = 100; //Количество символов в краткой новости
cvitex
На сайте с 30.08.2008
Offline
26
#7

Неа не режит

Константинович
На сайте с 13.09.2008
Offline
319
#8
cvitex:
Неа не режит

даже не знаю, что предложить :( Сам бы оставил скрипт полностью тогда, но попробовал бы заакодировать эти строчки:

$img = get_img_basic($row['short_story']);

$img_t= str_replace('thumbs/','',$img);

$images_show = "<!--ThumbBegin--><a href=\"$img_t\" onClick='return hs.expand(this)'>";

$images_show_a = "</a><!--ThumbEnd-->";

$images = $images_show."<img src=\"$img\" border=\"0\" alt=\"$title\">".$images_show_a;

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