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

Собственно искал для себя нечто подобное но не нашел, решил тогда модифицировать хак от инруса (для похожих новостей), и вот, что получилось:
Продвинутый вывод рейтинговых новостей с описанием и картинкой
Версия 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}


Автор: prime
Другие новости по теме:

Категория: --- ----- Просмотров: 9220 ----- Комментариев: 64

Вернуться

  • gfunbary

  • 7 сентября 2009 07:54
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Люди добрые, у меня в новости находиться допустим три скрина, как сделать чтобы этот модуль брал в превью не последний, а первый скрин?
  • mabilko

  • 8 сентября 2009 02:18
  • Группа: User
  • ICQ: 377003898
  • Регистрация: 7.09.2009
  • Комментариев: 13
  • Публикаций: 0
^
Спасибо за мод, на дле 7.3 работает отлично. Правда переделал под себя малёха, уменьшил картинки и убрал вывод текста с новости ))))
  • zen

  • 11 ноября 2009 09:11
  • Группа: User
  • ICQ: --
  • Регистрация: 20.03.2008
  • Комментариев: 22
  • Публикаций: 0
^
все нормально работает!
  • temius

  • 11 ноября 2009 18:24
  • Группа: User
  • ICQ: --
  • Регистрация: 4.09.2009
  • Комментариев: 4
  • Публикаций: 0
^
для 8,3 не отображает картинки из новостей, краткое описание не пишет!!8,2 пахало нормально!!

--------------------
  • zen

  • 4 декабря 2009 20:12
  • Группа: User
  • ICQ: --
  • Регистрация: 20.03.2008
  • Комментариев: 22
  • Публикаций: 0
^
можно сделать для случайных новостей????
  • kuguk

  • 16 декабря 2009 16:08
  • Группа: User
  • ICQ: --
  • Регистрация: 22.03.2009
  • Комментариев: 27
  • Публикаций: 0
^
temius,
Всё нормально и на 8.3 пашет!
Вот тебе код
<?php
/*
=====================================================
DataLife Engine Nulled by M.I.D-Team
-----------------------------------------------------
http://www.mid-team.ws/
-----------------------------------------------------
Copyright (c) 2004,2009 SoftNews Media Group
=====================================================
Данный код защищен авторскими правами
=====================================================
Файл: topnews.php
-----------------------------------------------------
Назначение: вывод рейтинговых статей
=====================================================
*/

if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}

$topnews = dle_cache( "topnews", $config['skin'] );

if( ! $topnews ) {
    
    $this_month = date( 'Y-m-d H:i:s', $_TIME );
    
    $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" );
    
    while ( $row = $db->get_row() ) {
        
        $row['date'] = strtotime( $row['date'] );
        $row['category']
= intval( $row['category'] );
        
        if( $config['allow_alt_url'] == "yes" ) {
            
            if( $row['flag'] and $config['seo_type'] ) {
             &n
bsp;  
             &n
bsp;  if( $row['category'] and $config['seo_type'] == 2 ) {
             &n
bsp;      
             &n
bsp;      $full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";
             &n
bsp;  
             &n
bsp;  } else {
             &n
bsp;      
             &n
bsp;      $full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html";
             &n
bsp;  
             &n
bsp;  }
            
            } else {
             &n
bsp;  
             &n
bsp;  $full_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html";
            }
        
        } else {
            
            $full_li
nk = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
        
        }
        
        if( strlen( $row['title'] ) > 55 ) $title = substr( $row['title'], 0, 55 ) . " ...";
        else $title = $row['title'];
        
        $go_page = ($config['ajax']) ? "onclick=\"DlePage('newsid=" . $row['id'] . "'); return false;\" " : "";
        if( $config['allow_comments_wysiwyg'] == "yes" ) $go_page = '';
        
        $link = "<a {$go_page}href=\"" . $full_link . "\">" . stripslashes( $title ) . "</a>";
        
    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['base
name'];
$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_s
tory']);
$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
2;
</tr>
</table><br>';
}
    
    $db->free();
    create_cache( "topnews", $topnews, $config['skin'] );
}
?>
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
та да.. ничего не работает.. вообще на сайт не заходит если ставить этот код...
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Цитата: sk8er
Можешь так сделать для похожих новостей в фул стори?

Такой хак уже существует у меня на сайте он давно стоит...
  • Группа: User
  • ICQ: 448170090
  • Регистрация: 27.01.2009
  • Комментариев: 13
  • Публикаций: 1
^
на 8,3 все нормально работает, внимательнее будьте ;)
  • HUNteror

  • 2 сентября 2010 18:48
  • Группа: User
  • ICQ: --
  • Регистрация: 6.08.2010
  • Комментариев: 5
  • Публикаций: 0
^
9,0 НЕРАБОТАЕТ

--------------------
  • messa

  • 2 сентября 2010 23:51
  • Группа: User
  • ICQ: --
  • Регистрация: 5.12.2008
  • Комментариев: 61
  • Публикаций: 0
^
Цитата: HUNteror
9,0 НЕРАБОТАЕТ


лол :D новости больше года, ясный красный на 9 не сработает этот хак

--------------------
  • Gitis

  • 12 января 2011 06:07
  • Группа: User
  • ICQ: --
  • Регистрация: 30.11.2008
  • Комментариев: 32
  • Публикаций: 0
^
на 9.0 работал, на 9.2 уже нет.
Навигация по страницам

1 2