Перейти к публикации

topnews для разных категорий


Рекомендованные сообщения

Всем привет! А можно ли выводить популярные новости для определенной категории?

Сейчас на сайте популярные новости выводятся по средствам {topnews} и он отображает все новости из всех категорий, а как бы сделать чтоб он выводил новости только из конкретной категории?

Просто хочется сделать так:

1. Популярные личности

2. Музыкальные хиты

и следовательно чтоб новости были из этих категорий

Подскажите кто знает :unsure:

Спасибо за внимание, уже сам нашер решение! Вот, кому интересно:

1. в файле index.php

находим:

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

$config['http_home_url'] = reset ( $config['http_home_url'] );
выше вставляем:
if ( stristr( $tpl->copy_template, "{topnews" ) ) {


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


    }
2. в файле engine/modules/functions.php добавляем функцию
function topnews_print ($custom_category){ 

global $db,$config;

if(!defined('DATALIFEENGINE'))

{

die("Hacking attempt!");

}

$koma = strpos($custom_category, ',');

if ($koma >= 2)

$categ = substr ($custom_category, 0, 2);

else

$categ = substr ($custom_category, 0, 1);

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


if (!$topnews) {

$custom_category = $db->safesql(str_replace(',', '|', $custom_category));


$this_month = date ('Y-m-d', time()-(3600*24*27));


$db->query("SELECT id, title, date, alt_name FROM " . PREFIX . "_post WHERE approve='1' AND category regexp '[[:<:]]($custom_category)[[:>:]]' 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,10");


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 {$go_page}href=\"".$config['http_home_url'].date('Y/m/d/', $row['date']).$row['alt_name'].".html\">".stripslashes($title)."</a>";

else 

$link = "<a {$go_page}href=\"$PHP_SELF?newsid=".$row['id']."\">".stripslashes($title)."</a>";


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

}


$db->free();

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

}


return $topnews;

}

После чего в нужном месте прописываем: {topnews category="ID категории"} пример можно посмотреть здесь www.bez-gnid.ru

Можно выводить несколько раз! Информация взята с http://4dle.ru/2007/06/22/page,1,2,topnews_s_opredelennojj_kategorii.html

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

У тебя они я вижу идут столбиками то есть вертикально , а как тоже самое сделать только горизонтально ??? И сократить до трех новостей с одной категории ??? Очень прошу кто нибудь ответьте ??? :(

Изменено пользователем Charli007
Ссылка на сообщение
Поделиться на других сайтах

Можно сделать и в строчку и только 3 новости...

Количество вот в этой тсроке меняется

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,10"); 
а именно 0,10 меняй например на 0,3..... а само оформление вертикально или горизонтально меняй тут
if ($config['allow_alt_url'] == "yes")$link = "<a {$go_page}href=\"".$config['http_home_url'].date('Y/m/d/', $row['date']).$row['alt_name'].".html\">".stripslashes($title)."</a>";else $link = "<a {$go_page}href=\"$PHP_SELF?newsid=".$row['id']."\">".stripslashes($title)."</a>";$topnews .= "".$link."<br />";}

Ссылка на сообщение
Поделиться на других сайтах

В общем без ста грамм не разберёшься видно... :lol:

DESC LIMIT 0,10 (0,10 = 10 новостей)

$topnews .= "".$link."<br />"; (Убери <br />, будет горизонально)

По категориям не знаю, но эти строки меняю в engine/modules/topnews.php

После изменений нужно кэш очистить.

P.S.: Выпил все 350 :)

Изменено пользователем Captain
Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...

вот бы ещё картинки выводила topnews + category + img )

пытался моды прикрутить http://tudimon.com/2009/11/13/dle-xaki-dobavim-kratkoe-opisanie-i-kartinku-v.html

http://dle.in.ua/page,1,3,6045-prodvinutyj-vyvod-rejtingovyx-novostej-s.html#comment

не работает с ними этот мод (

Ссылка на сообщение
Поделиться на других сайтах

С картинками есть модуль на 4дле.ру раньше его использовал я... Но отпала необходимость в ТОП, сделал просто ПОСЛЕДНИЕ новости...

Ссылка на сообщение
Поделиться на других сайтах

С картинками есть модуль на 4дле.ру раньше его использовал я... Но отпала необходимость в ТОП, сделал просто ПОСЛЕДНИЕ новости...

на 4дле.ру много чего есть но что бы {topnews category="ID категории"} + картинки нет

есть там ТИПО http://4dle.ru/mods/1147157525-modul.-news2cat-by-dj-avtosh.html вот такого но это не то.

сделал просто ПОСЛЕДНИЕ новости(С)

вы сделали последние новости (от 1 до 10...новости в блоке )с определеной категории и с картинками {newnews category="ID категории"} + картинки ?

Ссылка на сообщение
Поделиться на других сайтах

да сделал. делается не так как вы написали а {custom}.... Это и подразумевает чт овыводит ПОСЛЕДНИЕ новости с нужной категории и с картинками и как хочешь...

Ссылка на сообщение
Поделиться на других сайтах

Да так и есть, создаете еще один шаблон новости, делайте его каким угодно и потом выводите там гед вам угодно

{custom category="номер категории" template="название шаблона" aviable="global" from="0" limit="количество новостей" cache="yes"}

И будет вам счастье

Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

Да так и есть, создаете еще один шаблон новости, делайте его каким угодно и потом выводите там гед вам угодно

{custom category="номер категории" template="название шаблона" aviable="global" from="0" limit="количество новостей" cache="yes"}

И будет вам счастье

а интересно как сделать чтобы картинки в этот блоке ...template="название шаблона"...смотрелись как бы привью shortstory и fullstory, грубо говоря как сделать превью новости и что бы отображалась там где надо.

:unsure:

Ссылка на сообщение
Поделиться на других сайтах

По-моему можно например в файле стилей прописать класс ну для короткой новости и там прописать для картинки типа выравнивание по левому краю по умолчанию и чтоб текст обтекал ее... И в шаблоне новости прописать этот класс... Но я обычно теперь делаю картинку пихаю в дополе, а уже само допполе вывожу именно там где мне надо...

Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...