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

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

Получилась некоторая доработка Хака Продвинутый вывод рейтинговых новостей....
Немного по другому решен.
Добавлена Возможность вывода topnews из определённых категорий.
Добавлена возможность работы с ЧПУ
адаптировано под 8.х, проверено на 8.2. На других тоже должен пахать.
демо: http://donbass.name

в index.php перед

$config['http_home_url'] = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );


Добавляем



  if ( stristr( $tpl->copy_template, "{topnews" ) ) {
$tpl->copy_template = preg_replace( "#\\{topnews category=['\"](.+?)['\"]\\}#ies", "topnews_print('\\1')", $tpl->copy_template );
}


и в файле engine/modules/functions.php перед

function langdate($format, $stamp) {


добавляем функцию



  function topnews_print ($custom_category){

  global $db;

  $custom_category  = $db->safesql(str_replace(',', '|', $custom_category));
if(!defined('DATALIFEENGINE'))

  {

  die("Hacking attempt!");

  }
$topnews = dle_cache("topnews", $config['skin']);
if (!$topnews) {
$this_month = date ('Y-m-d', time()-(3600*24*27));
$db->query("SELECT id, title, short_story, date, alt_name FROM " . PREFIX . "_post WHERE approve='1' AND category regexp '[[::]]' AND date >= '$this_month'AND date < '$this_month' + INTERVAL 1 MONTH ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,5");
while($row = $db->get_row()){
$row['date'] = strtotime($row['date']);
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_alt_url'] == "yes")

  $link = "<a>".stripslashes($title)."</a>";

  else

  $link = "<a>".stripslashes($title)."</a>";
$topnews .= "» ".$link."
";
preg_match('|]*>|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 = "[url=http://$wide][img=|$pictitle]$pic[/img][/url]";

  else $preview = "[img=|$pictitle]$pic[/img]";

  }

  else $preview = "<img style="border: medium none;" src="{THEME}/images/nothumb.gif" width="1px" height="1px" />";
$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 ) . " ... <a style="font-size:12px">Читать далее »</a>";

  $topnews .= '<table width="98%" border="0" style="border-bottom: 1px dotted #E1E1E1;">

  <td width="1" height="1 align=" valign="top">'.$preview.'</td>

  <td width="98%" valign="top" style="padding-left: 1px; padding-bottom: 1px; font-size:13px">

  '.stripslashes($row['short_story']).'</td>

  </tr>

  </table>';

  }
$db->free();

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

  }

  

  return $topnews;

  }


популярные новости выводим тегом {topnews category="ID категории"}

пример: {topnews category="1,2,3"}
Всё
Другие новости по теме:

Категория: Хаки ----- Просмотров: 3536 ----- Комментариев: 26

Вернуться

  • AlexBen

  • 13 апреля 2010 11:36
  • Группа: User
  • ICQ: 1739390
  • Регистрация: 29.01.2010
  • Комментариев: 274
  • Публикаций: 44
^
супер smile

--------------------
  • kiosaki

  • 13 апреля 2010 13:38
  • Группа: User
  • ICQ: --
  • Регистрация: 11.12.2009
  • Комментариев: 44
  • Публикаций: 1
^
Шикарно, спасибо.


А как сделать такие же вкладки, как на демосайте? Вон переключается удобно с топ новостей, на архив, теги..
  • Группа: User
  • ICQ: --
  • Регистрация: 6.03.2009
  • Комментариев: 13
  • Публикаций: 0
^
Возможно ли разбить на две колонки, и как? winked
Заранее благодарен.
  • fisher

  • 13 апреля 2010 21:48
  • Группа: User
  • ICQ: --
  • Регистрация: 20.10.2009
  • Комментариев: 6
  • Публикаций: 0
^
на 8.3 бьёт ошибку
Parse error: syntax error, unexpected '/', expecting T_STRING or T_VARIABLE or T_NUM_STRING in Z:\home\test1.ru\www\engine\modules\functions.php on line 155
  • Dr. Neo

  • 13 апреля 2010 23:51
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
На 8.3 спасите парня.
  • Группа: User
  • ICQ: --
  • Регистрация: 25.08.2008
  • Комментариев: 17
  • Публикаций: 4
^
Спасение для юзеров 8.3 выложил тут _http://donbass.name/blog/show/52/topnews-iz-opredelennoj-kategorii-4.html . Изменён способ вывода картинок на более рационаоьный. Как освобожусь, выложу этот обновлённый хак сюда.

Цитата: edikbirnt
Возможно ли разбить на две колонки, и как?

можно. напишу, как освобожусь в блоге по ссылке выше, шоб не мусорить тут.
Сегодня по свободе ...


Цитата: kiosaki
А как сделать такие же вкладки, как на демосайте? Вон переключается удобно с топ новостей, на архив, теги..

например так _http://dle.net.ua/2009/02/16/vkladki-s-ispolzovaniem-jquery.html
  • kiosaki

  • 14 апреля 2010 12:45
  • Группа: User
  • ICQ: --
  • Регистрация: 11.12.2009
  • Комментариев: 44
  • Публикаций: 1
^
Благодарю. Поставил + в репу.
  • fisher

  • 14 апреля 2010 12:47
  • Группа: User
  • ICQ: --
  • Регистрация: 20.10.2009
  • Комментариев: 6
  • Публикаций: 0
^
zuluman2

Возможно ли сделать не обрезание картинки, а уменьшение до указанных размеров ?


$w = 64; // Ширина Картинки

$h = 64; // Высота Картинки
  • Группа: User
  • ICQ: --
  • Регистрация: 25.08.2008
  • Комментариев: 17
  • Публикаций: 4
^
Цитата: fisher
Возможно ли сделать не обрезание картинки, а уменьшение до указанных размеров ?

Да, переустановите хак, как указано здесь _http://donbass.name/blog/show/51/topnews-iz-opredelennoj-kategorii-3.html
измените в хаке параметр
width=\"100px\"
на свой вместо 100

ну и соответственоо добавьте height нужной высоты
  • fisher

  • 14 апреля 2010 13:35
  • Группа: User
  • ICQ: --
  • Регистрация: 20.10.2009
  • Комментариев: 6
  • Публикаций: 0
^
Нет Вы меня не поняли.
При выводе новостей, картинка отображается не как уменьшенная, а как обрезанная по краям до указанного размера

$w = 64; // Ширина Картинки
$h = 64; // Высота Картинки

Т.е. картинка отображается не полностью а обрезанной по всем краям.

з.ы. использую данный хак _http://donbass.name/blog/show/52/topnews-iz-opredelennoj-kategorii-4.html т.к. стоит 8.3
  • Группа: User
  • ICQ: --
  • Регистрация: 25.08.2008
  • Комментариев: 17
  • Публикаций: 4
^
Цитата: fisher
Нет Вы меня не поняли.

я вас правильно понял
тот хак уже адаптирован под 8.3 и в нём картинка не обрезается
пробуйте
  • fisher

  • 14 апреля 2010 14:52
  • Группа: User
  • ICQ: --
  • Регистрация: 20.10.2009
  • Комментариев: 6
  • Публикаций: 0
^
Ок, Спасибо.
  • DatiX

  • 22 апреля 2010 18:56
  • Группа: User
  • ICQ: 8245731
  • Регистрация: 29.11.2009
  • Комментариев: 20
  • Публикаций: 6
^
а как здалать, чтоб оно тинуло описание с follstory???
  • Группа: User
  • ICQ: --
  • Регистрация: 19.01.2010
  • Комментариев: 3
  • Публикаций: 0
^
вот отсюда взятий код
_http://donbass.name/blog/show/52/topnews-iz-opredelennoj-kategorii-4.html т.к. стоит 8.3

работает. И еще где в коде можно регулировать количество выводимых новостей
  • Группа: User
  • ICQ: --
  • Регистрация: 25.04.2010
  • Комментариев: 1
  • Публикаций: 0
^


На домашнем сервере все работает на ура. А на хостинге выдает вот такую лабуду в верхней части страницы:

Warning: getimagesize(): URL file-access is disabled in the server configuration in /sata1/home/users/videoreli/www/www.videoreliz.com/engine/modules/functions.php on line 234 Warning: getimagesize(http://videoreliz.com/uploads/posts/2010-04/thumbs/1272618940_12654
54439_parizj.jpg): failed to open stream: no suitable wrapper could be found in /sata1/home/users/videoreli/www/www.videoreliz.com/engine/modules/functions.php on line 234 Warning: imagecreatefromjpeg(): URL file-access is disabled in the server configuration in /sata1/home/users/videoreli/www/www.videoreliz.com/engine/modules/functions.php on line 264 Warning: imagecreatefromjpeg(http://videoreliz.com/uploads/posts/2010-04/thumbs/127261894
0_1265454439_parizj.jpg): failed to open stream: no suitable wrapper could be found in /sata1/home/users/videoreli/www/www.videoreliz.com/engine/modules/functions.php on line 264 Warning: Division by zero in /sata1/home/users/videoreli/www/www.videoreliz.com/engine/modules/functions.php on line 309 Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /sata1/home/users/videoreli/www/www.videoreliz.com/engine/modules/functions.php on line 316


В папке uploads/topnews создаются уменьшенные копии соответствующих картинок, но полностью черные, в чем может быть проблема?
  • Группа: User
  • ICQ: --
  • Регистрация: 18.08.2009
  • Комментариев: 7
  • Публикаций: 0
^
а как бы это всё ещё и в хинт упаковать?
  • mnzul

  • 18 мая 2010 13:25
  • Группа: User
  • ICQ: --
  • Регистрация: 1.07.2008
  • Комментариев: 16
  • Публикаций: 0
^
как перенести описание под картинку?
  • Группа: User
  • ICQ: 359656154
  • Регистрация: 19.01.2010
  • Комментариев: 12
  • Публикаций: 0
^
Помогите, как отключить ЧПУ
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Идея хорошая, продолжается ли разработка под 8,5?
  • Olko2010

  • 1 сентября 2010 01:56
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
как сделать чтобы чтобы был только заголовок новости и картинка, описания не нужно?
  • HUNteror

  • 2 сентября 2010 15:55
  • Группа: User
  • ICQ: --
  • Регистрация: 6.08.2010
  • Комментариев: 5
  • Публикаций: 0
^
DLE 9.0 - неработает...........
хак хороший очень. ПРОШУ шарящих выложить такой же под 9,0!

--------------------
  • lonelys

  • 15 ноября 2010 13:59
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
на 8.5 не хочет работать, ошибка
  • lockon

  • 16 ноября 2010 09:04
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
edikbirnt,

Возможно ли разбить на две колонки, и как?


За деньги можно всё.
  • winrro

  • 25 декабря 2010 15:56
  • Группа: User
  • ICQ: --
  • Регистрация: 25.12.2010
  • Комментариев: 3
  • Публикаций: 0
^
_http://donbass.name/blog/show/52/topnews-iz-opredelennoj-kategorii-4.html]

ссылка не работает, дайте пожалуйста код на дле 8.3
  • Группа: User
  • ICQ: --
  • Регистрация: 21.12.2010
  • Комментариев: 3
  • Публикаций: 0
^
люди этот ХАК не пашет на DLE 8.5 и выше.

не тратьте время на это старое гамно...
  • MTS32

  • 9 января 2011 10:59
  • Группа: User
  • ICQ: 2929550
  • Регистрация: 16.06.2009
  • Комментариев: 32
  • Публикаций: 0
^
на 9.0 ошибка:
Parse error: syntax error, unexpected '/', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/virtwww/w_warez-klas-ru_c9eaaf39/http/engine/modules/functions.php on line 190

--------------------