Помогите с хаком DLE

-L-
На сайте с 05.01.2008
Offline
110
-L-
785

http://4dle.ru/hacks/page,1,2,1147155488-cool_shortstory.html

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




Установка модуля

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);
$tpl->set('{image}',$images);
//Красивый выод by elektroshok (creostyle)

Как работать

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

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

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

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

помогите заставить работать в fullstory

Если модуль запихнуть в show.full.php выводит 2 картинки как сделать чтобы выводил только одну?

Версия движка 7.2

Есть сайт, паблик Вконтакте или Одноклассниках? Нет денег? Заработай здесь, просто размещая видеоролики в своих сообществах! (http://viboom.com/ru/invite/73)
ewg777
На сайте с 04.06.2007
Offline
225
#1

return $out[2];

заменить на return $out['2']['0'];

iren K
На сайте с 28.12.2008
Offline
222
#2

потерто (не актуально)

c уважением Iren
-L-
На сайте с 05.01.2008
Offline
110
-L-
#3

теперь показывает только ту картинку что в посте, а в тег {image} пишет кривой урл

-L- добавил 05.09.2009 в 15:00

готов рассмотреть платные варианты помощи

-L- добавил 05.09.2009 в 20:27

актуально.......................

-L- добавил 06.09.2009 в 13:33

Всем спасибо, проблема решена

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