dle.in.ua » Продвинутый вывод рейтинговых новостей с описанием и картинкой

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

Собственно искал для себя нечто подобное но не нашел, решил тогда модифицировать хак от инруса (для похожих новостей), и вот, что получилось:
Продвинутый вывод рейтинговых новостей с описанием и картинкой
Версия 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
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • спасибо порадовал wink
    • -IN-CLUB-
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 20:22
    • 1
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 91
  • Публикаций: 0
  • как на 7.5?
    Как вижу количество символов можно изменять(оно обрезается) и картинка автоматом ресайзиться=) забавно, забираю fellow
    однозначно +
    Молодец ZloY порадовал fellow

    --------------------
    • llipek
    • Регистрация: 28.01.2009
    • Репутация: (0|0|0)
    • 27 августа 2009 20:38
    • 2
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • llipek,
    wink
    автор я
    • g-prime
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 20:44
    • 3
    ^
  • Группа: User
  • Icq: 481186622
  • Комментариев: 109
  • Публикаций: 9
  • laughing спасибо за простейший и в то же время нужный хак.
    • ТорЧ
    • Регистрация: 26.04.2008
    • Репутация: (0|0|0)
    • 27 августа 2009 20:48
    • 4
    ^
  • Группа: User
  • Icq: 817135
  • Комментариев: 321
  • Публикаций: 0
  • Хак конечно отличный, дружит ли он с ДЛЕ 7.5 ?

    --------------------
    • ALTERNATE
    • Регистрация: 12.12.2008
    • Репутация: (0|0|0)
    • 27 августа 2009 21:06
    • 5
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • ALTERNATE,
    выложи мне файл engine/modules/topnews.php
    Я тебе скажу, что сделать, чтобы работало
    • g-prime
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 21:10
    • 6
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Не работает
    • DiMaH
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 21:39
    • 7
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • DiMaH,
    что пишит, версия ДЛЕ


    телепатов нету
    • g-prime
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 21:41
    • 8
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Цитата: g-prime
    что пишит, версия ДЛЕ

    там и близко нет такой строки
    $topnews .= "<li> " . $link . "</li>";


    8.2
    • DiMaH
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 21:54
    • 9
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • а на xfield ах будут показыватся постер новости.
    если постер прописан в Xfield - е.?
    • zikzik
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 22:31
    • 10
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 5
  • Публикаций: 0
  • у меня тоже нет такой строки dle 8.2
    • youself
    • Регистрация: 22.06.2009
    • Репутация: (0|0|0)
    • 27 августа 2009 22:40
    • 11
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • youself,
    скинь свой файл engine/modules/topnews.php

    пздц, у кого-то есть, у кого-то нету wink
    что у вас за ДЛЕ wink
    • g-prime
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 22:43
    • 12
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 24
  • Публикаций: 1
  • А просто для обычных новостей так нельзя сделать ? Ну что б отдельная категория допустим выводилась ?
    • Kazanova
    • Регистрация: 9.08.2009
    • Репутация: (0|0|0)
    • 27 августа 2009 22:44
    • 13
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Цитата: g-prime
    youself,скинь свой файл engine/modules/topnews.phpпздц, у кого-то есть, у кого-то нету smile:wink/smileчто у вас за ДЛЕ

    http://depositfiles.com/files/nck3xkfbs
    • DiMaH
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 22:54
    • 14
    ^
  • Группа: User
  • Icq: 4856183
  • Комментариев: 111
  • Публикаций: 2
  • В 8.2 такой строки $topnews .= "<li> " . $link . "</li>"; действительно нет... Но есть оооочень похожая... fellow Так что меняем ее и все прекрасно работает! Автору - большущее спасибо. Давно пытался найти такую вещь именно под популярные новости...

    --------------------
    • Evil Raven
    • Регистрация: 2.11.2008
    • Репутация: (0|0|0)
    • 27 августа 2009 22:56
    • 15
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Цитата: Evil Raven
    Такой там действительно нет... Но есть оооочень похожая... smile:fellow/smile Так что меняем ее и все прекрасно работает! Автору - большущее спасибо. Давно пытался найти такую вещь именно под популярные новости...

    какая строка?
    • DiMaH
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 23:00
    • 16
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • DiMaH,
    youself,

    ну вы блин даете wink

    $topnews .= "» " . $link . "<br />";

    Различия в тегах

    $topnews .= "<li> " . $link . "</li>";

    Evil Raven smile
    • g-prime
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 23:01
    • 17
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Цитата: g-prime
    $topnews .= "<li> " . $link . "</li>";

    ты тупой?тебе говорят нет там токой строки.
    • DiMaH
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 23:03
    • 18
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • DiMaH,
    1. Тупой здесь - ТЫ
    2. Научись читать
    • g-prime
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 23:08
    • 19
    ^
  • Группа: User
  • Icq: 4856183
  • Комментариев: 111
  • Публикаций: 2
  • $topnews .= "<li> " . $link . "</li>"; действительно нет, есть $topnews .= "» " . $link . "<br />";
    Вот ее и меняй. Единственно не нужна последняя }, она уже есть в файле, ее копировать еще раз не надо!

    --------------------
    • Evil Raven
    • Регистрация: 2.11.2008
    • Репутация: (0|0|0)
    • 27 августа 2009 23:09
    • 20
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • заменил и чё?

    ошибка на линии 95
    • DiMaH
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 23:11
    • 21
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 5
  • Публикаций: 0
  • если » равно » ? тогда сори за тупость
    • youself
    • Регистрация: 22.06.2009
    • Репутация: (0|0|0)
    • 27 августа 2009 23:11
    • 22
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Цитата: g-prime
    1. Тупой здесь - ТЫ2. Научись читать


    сына рот закрой,щас тему это в минуса пущу
    • DiMaH
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 23:11
    • 23
    ^
  • Группа: User
  • Icq: 4856183
  • Комментариев: 111
  • Публикаций: 2
  • Цитата: DiMaH
    ошибка на линии 95

    я что писал про } (скобку) - у тебя их две подряд получилось. убери одну!!!!

    --------------------
    • Evil Raven
    • Регистрация: 2.11.2008
    • Репутация: (0|0|0)
    • 27 августа 2009 23:13
    • 24
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 5
  • Публикаций: 0
  • вот что было в коде "& raquo" все терь понял
    • youself
    • Регистрация: 22.06.2009
    • Репутация: (0|0|0)
    • 27 августа 2009 23:13
    • 25
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • DiMaH,
    давай, ну опустишь и че дальше? wink
    • g-prime
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 23:14
    • 26
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 5
  • Публикаций: 0
  • вот что было в коде "& raquo" все терь понял
    • youself
    • Регистрация: 22.06.2009
    • Репутация: (0|0|0)
    • 27 августа 2009 23:14
    • 27
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • DiMaH, ты лучше помолчи, если хочешь дальше спокойно общаться...
    • lifediz
    • Регистрация: --
    • Репутация: (||)
    • 27 августа 2009 23:16
    • 28
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 91
  • Публикаций: 0
  • DiMaH, ахахаха ты опять отжигаешь, не долго проживешь на сайте)))
    Люди, прострите глаза и включайте mozgi.exe в своих сборках и обязательно настраивайте ryki.dll иначе у вас никогда ниче не будет работать wink

    --------------------
    • llipek
    • Регистрация: 28.01.2009
    • Репутация: (0|0|0)
    • 28 августа 2009 07:29
    • 29
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Dle 8.2 работает!
    Менять строку 68-69 пункт 3:

    Спасибки!
    • yudjin
    • Регистрация: --
    • Репутация: (||)
    • 28 августа 2009 07:34
    • 30
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • А что за шаблон, который на скриншоте? feel
    • ahromenko
    • Регистрация: --
    • Репутация: (||)
    • 28 августа 2009 08:43
    • 31
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 6
  • Публикаций: 0
  • Отлично) dle 8.0 работает
    • spot
    • Регистрация: 20.08.2009
    • Репутация: (0|0|0)
    • 28 августа 2009 09:27
    • 32
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Красавчег, вот это вещь давно хотелось реализовать) +, кста и всё работает
    • Omen
    • Регистрация: --
    • Репутация: (||)
    • 28 августа 2009 09:28
    • 33
    ^
  • Группа: User
  • Icq: 473900262
  • Комментариев: 108
  • Публикаций: 3
  • Благодарю тебя доктор ZLO bully

    --------------------
    • Dekster
    • Регистрация: 22.02.2009
    • Репутация: (0|0|0)
    • 28 августа 2009 11:58
    • 34
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • а как сделать чтоб все новости выводились в строку а не в столбец???
    • panskibickyy
    • Регистрация: --
    • Репутация: (||)
    • 28 августа 2009 14:11
    • 35
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • ahromenko,
    шаблон моего нового сайта wink

    panskibickyy, отредактируй строку вывода новостей, как хочешь

    $topnews .= '
    • g-prime
    • Регистрация: --
    • Репутация: (||)
    • 28 августа 2009 15:01
    • 36
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Цитата: g-prime
    panskibickyy, отредактируй строку вывода новостей, как хочешь$topnews .= '

    неполучается... можешь написать точнее??? очень нужно. напиши в асю 42329524семь
    • panskibickyy
    • Регистрация: --
    • Репутация: (||)
    • 28 августа 2009 15:09
    • 37
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 6
  • Публикаций: 0
  • Неотображается картинка, если она залита на радикал.
    • Aktteon
    • Регистрация: 5.08.2009
    • Репутация: (0|0|0)
    • 28 августа 2009 15:28
    • 38
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • можно демо?
    • KeNeDi
    • Регистрация: --
    • Репутация: (||)
    • 28 августа 2009 15:48
    • 39
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Aktteon, картинки беруться из новости (которые были загружены на сервер)

    KeNeDi, на скриншоте все понятно. Демо не будет

    panskibickyy, что тебе не понятного?
    Для редактирования формата отображения необходимы базовые знания HTML

    stripslashes($row['short_story']) - Краткое содержание записи
    stripslashes( $row['title']) - Название записи
    $preview - картинка
    • g-prime
    • Регистрация: --
    • Репутация: (||)
    • 28 августа 2009 16:18
    • 40
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Цитата: g-prime
    panskibickyy, что тебе не понятного?Для редактирования формата отображения необходимы базовые знания HTMLstripslashes($row['short_story']) - Краткое содержание записиstripslashes( $row['title']) - Название записи$preview - картинка

    да это я понял. и знания html есть, но в строку, чередовать новости неполучается!!... можешь переделать...
    • panskibickyy
    • Регистрация: --
    • Репутация: (||)
    • 28 августа 2009 16:36
    • 41
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Спасибо автору, благодаря его подсказкам (не здесь, а на известном ресурсе N), у меня все работает, к тому же, смог настроить отбражение шрифта.
    • Petro38
    • Регистрация: --
    • Репутация: (||)
    • 28 августа 2009 17:01
    • 42
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 6
  • Публикаций: 0
  • g-prime Спасибо понял. Но можно ли сделать так чтобы картинки отображались и с радикала тоже?
    • Aktteon
    • Регистрация: 5.08.2009
    • Репутация: (0|0|0)
    • 28 августа 2009 19:19
    • 43
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Aktteon,
    будет время - сделаю
    • g-prime
    • Регистрация: --
    • Репутация: (||)
    • 28 августа 2009 21:25
    • 44
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Можешь так сделать для похожих новостей в фул стори?
    • sk8er
    • Регистрация: --
    • Репутация: (||)
    • 29 августа 2009 20:30
    • 45
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • как сделать чтоб картинка была сверху? над надписью, и где настроить картинку размер? а также кол-во символов в нвости что обрезает?
    • RealArtem
    • Регистрация: --
    • Репутация: (||)
    • 30 августа 2009 01:24
    • 46
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 6
  • Публикаций: 0
  • RealArtem

    как сделать чтоб картинка была сверху? над надписью,


    В коде есть таблица, просто каждый столбец поместите в свою строку.
    Каждый столбец <td></td> надо поместить между <tr></tr>

    width=\"100px\" height=\"100px\ - это размер картинки.
    106 - кол-во символов.
    Вроде так.
    • Aktteon
    • Регистрация: 5.08.2009
    • Репутация: (0|0|0)
    • 30 августа 2009 01:43
    • 47
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Aktteon,
    Спс помог, я даже такое там сотворил)))

    Но есть одно , НО!

    Идет новость 1 далее 2 после нее вижу "Прочитать целиком запись »", идет 3 новость вижу "Прочитать целиком запись »"...и так далее т.е не после каждой новости есть "Прочитать целиком запись »" как исправить?

    И как часто он обновляется?? можно поставить чтоб раз в пару дней или раз в неделю?

    B еще к этому, как на картинках рамку сделать??? как при увеличении есть рамка в DLE. простоу меня не смотриться белый фон с картинкой на сером фоне, нужна такая рамка.

    ООО заметил, рамка как тут на аватарах только бы округленными краями, но пример бы не помешал и с такой.
    • RealArtem
    • Регистрация: --
    • Репутация: (||)
    • 30 августа 2009 03:51
    • 48
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Отличный хак...приплюсил.
    • shade
    • Регистрация: --
    • Репутация: (||)
    • 30 августа 2009 11:00
    • 49
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • идея не плохая, но реализация жутко корявая..

    во-первых, картинка без ресайза тумб (загрузка полной картинки и уменьшение в браузере - прописан жесткий размер 100px)

    во-вторых, обрезка анонса по числу символов (106) - это прошлый век. ща это делается регуляркой, по пробелам или до первой точки в тексте.

    без оценки smile
    • Xe-Xe
    • Регистрация: --
    • Репутация: (||)
    • 3 сентября 2009 14:24
    • 50
    ^
    Назад Вперед
    Наверх
    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.