Dleshka.org
Авторизация

Хак Продвинутый вывод рейтинговых новостей с описанием и картинкой

+10
TipTop 28-08-2009 Хаки DLE 4 комментария
Собственно искал для себя нечто подобное но не нашел, решил тогда модифицировать Хак от инруса (для похожих новостей), и вот, что получилось:

Версия CMS: 8.2 на остальных не смотрел (как нулл так и лицензия)
Установка:
1. Открываем файл engine/modules/topnews.php
2. Находим
$db->query( "SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_month' - INTERVAL 1 MONTH AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" );



заменяем на
$db->query( "SELECT id, title, date, alt_name, category, short_story, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_month' - INTERVAL 1 MONTH AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" ); 



3. Находим:
$topnews .= "<li> " . $link . "</li>"; 


и заменяем на
preg_match('|<img(.*) src="([^"]*)"[^>]*>|is', $row['short_story'], $pts);
$thumba_parts = pathinfo($pts[2]);
$titla = stripslashes($row['title']);
if($pts[2]){
$pictitle = stripslashes( $row['title'] );
$pic = $thumba_parts['dirname'].'/'.$thumba_parts['basename'];
$wide = str_replace('thumbs/', "", $pic);
if(file_exists($wide)) $preview = "<a href=\"$wide\" onclick=\"return hs.expand(this)\"><img src=\"$pic\" width=\"100px\"; alt=\"$pictitle\" title=\"$pictitle\"></a>";
else $preview = "<img src=\"$pic\" width=\"100px\"; alt=\"$pictitle\" title=\"$pictitle\">";
}
else $preview = "<img style=\"border: medium none;\" src=\"{THEME}/images/nothumb.gif\" width=\"100px\" height=\"100px\">";
$row['short_story'] = preg_replace("/\[attachment=[[:digit:]]*\]/si","",stripslashes($row['short_story']));
$row['short_story'] = preg_replace("/<!--*-->/si","",$row['short_story']);
$row['short_story'] = strip_tags($row['short_story']);
if( strlen( $row['short_story'] ) > 106 ) $row['short_story'] = substr( $row['short_story'], 0,106 ) . " ... <br/><br/><a href=\"$full_link\" title=\"$titla\">Прочитать целиком запись »</a>";
$topnews .= '<table width="100%" border="0" style="border-bottom: 1px dotted #E1E1E1;">
<tr>
<td width="64" height=64" align="center" valign="top">'.$preview.'</td>
<td width="91%" valign="top" style="padding-left: 7px; padding-bottom: 7px;"><strong><a href="'.$full_link.'" title="'.stripslashes( $row['title']).'">'.stripslashes( $row['title']).'</a></strong><br>
'.stripslashes($row['short_story']).'</td>
</tr>
</table><br>';
} 



Все, в шаблоне для вывода используем всеми известный тег:
{topnews}
Информация
Зарегистрируйтесь чтобы комментировать публикацию.
Grief
5 декабря 2009 17:09
+ 0 -
2 пункт все нормально заменилось, а вот в 3 именно $topnews .= "<li> " . $link . "</li>"; такого нет. Есть $topnews .= "» " . $link . "<br />"; но при замене этой строки на все то, что ты указал, сайт выдает ошибку! Версия движка 8.3

Добавлю, что именно при добавление этого последнего кода сносит сайт. Даже если не заменять, а оставить $topnews .= "» " . $link . "<br />"; и ниже вставить этот код, то сайт выдает также ошибку.
vaselisk
20 февраля 2010 00:28
+ 0 -
хак классный, а может кто-то его подправить чтобы выводились картинки не только в ББкодах но и ХТМЛ ))
dimaz
23 августа 2010 23:35
+ 0 -
Да не работает , такой строки на 8.5 нет, если кто решил проблему отпишитесь плиз..
tiptop
24 августа 2010 08:42
+ 0 -
[quote=dimaz][/quote]
На 8,5 есть строка
$topnews .= "&raquo; " . $link . "<br />";

Попробуй эту заменить.
Авторизация