• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Вывод новости из определенной категории.

Статус
В этой теме нельзя размещать новые ответы.

-=ГрафТрахало=-

Гуру форума
Регистрация
10 Апр 2008
Сообщения
195
Реакции
53
Сабж, понадобилось выводить на главную страницу блок с выводом новости из определенной категории, на просторах инета надыбал такой хак
PHP:
<?php
if(!is_numeric($title_length)) $title_length = 30;
if(!is_numeric($short_story_length)) $short_story_length = 50;
if(!is_numeric($img_maxsize)) $img_maxsize = 80;

$o_block = '<table cellSpacing=0 cellPadding=0 width="100%" border="0"><tr>';
	
$rr = $db->query('SELECT id, date, title, short_story, SUBSTRING_INDEX(category,",",22) as category, alt_name, flag FROM '.PREFIX .'_post where approve="1" ORDER by RAND() LIMIT 0,1');

while ($row = $db->get_row($rr))
{
$ttl = stripslashes($row['title']);
$title_short = substr($ttl, 0, $title_length).'..';
$s_story = strip_tags($row['short_story']); $s_story = substr($s_story, 0, $short_story_length).'..';

preg_match('|<img(.*) src="([^"]*)"[^>]*>|is', $row['short_story'], $ps);
if($ps[2])
{
   $img_parts = pathinfo($ps[2]);
   $img_link = $img_parts['dirname'].'/'.$img_parts['basename'];

   $img_info = @getimagesize($img_link);  
   $img_width  = $img_info[0];
   $img_height = $img_info[1];
   if ($img_width > $img_height)
   {
		$img_code = '<IMG src="'.$img_link.'" alt="'.$ttl.'" width="'.$img_maxsize.'"/></a>';
   } else $img_code = '<a href="'.$full_link.'"><IMG src="'.$img_link.'" alt="'.$ttl.'" height="'.$img_maxsize.'"/></a>';

}
else { $img_code ='<div align="center" class="random_news_news">нет картинки</div>';};

$full_link = $config['http_home_url'].get_url($row['category'])."/".$row['id']."-".$row['alt_name'].".html";
 
$o_block .= '
				<div class="index_block block_zindex">
					<ul>
						<li class="img">
							'.$img_code.'
						</li>
						<li class="descr">
							<div class="inner">
								<h2><a href="'.$full_link.'">'.$title_short.'</a></h2>
								<p>'.$s_story.'</p>
							</div>
						</li>
					</ul>
				</div>';
};

$o_block .= '
          </tr>
		  </table>';

echo '<DIV>'.$o_block.'</DIV>';

?>
Но он выводит сразу из всех категорий, а мне надо только одну, подскажите как доработать или может смотрю не туда???

Или может есть подходящая замена? Надо выводить новость из категории (одну новость) рандомно.
 
Да в принципе запрос подправить
$rr = $db->query('SELECT id, date, title, short_story, SUBSTRING_INDEX(category,",",22) as category, alt_name, flag FROM '.PREFIX .'_post where approve="1" AND CATEGORY="" ORDER by RAND() LIMIT 0,1');
 
Да в принципе запрос подправить
$rr = $db->query('SELECT id, date, title, short_story, SUBSTRING_INDEX(category,",",22) as category, alt_name, flag FROM '.PREFIX .'_post where approve="1" AND CATEGORY="" ORDER by RAND() LIMIT 0,1');
Кланиюсь :) :D (жму спасибо)

Тему можно шлёпнуть!
 
вообще вывод новостей на главной можно реализовать стандартными средствами: aviable+content, здесь уже не раз обсуждалась эта тема, так поступил на сайте cinemacom_tv - главное правильно настроить шаблоны кратких новостей для главной страницы и все будет сделано, и нафиг не нужны никакие ни хаки ни моды!!! ;)
 
вообще вывод новостей на главной можно реализовать стандартными средствами: aviable+content, здесь уже не раз обсуждалась эта тема, так поступил на сайте cinemacom_tv - главное правильно настроить шаблоны кратких новостей для главной страницы и все будет сделано, и нафиг не нужны никакие ни хаки ни моды!!! ;)
Да, пришел к такому выводу уже после решения всех проблем...
переделывать уже нет желания после стольких мучений... и этот отлично работает!
 
{custom category="1" template="shortstory" aviable="main" from="0" limit="1" cache="yes"}
 
То же понадобилось такое, как вывод новости из определенной категории в блок... Сделал Для просмотра ссылки Войди или Зарегистрируйся только что бы новости не исчезали при уходе с главной:

Из shortstory.tpl убрал все лишнее и файл назвал shortstory2.tpl

В main.tpl в блок вставил:

{custom category="14" template="shortstory2" aviable="global" from="0" limit="5" cache="yes"}


где

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

Все работает прекрасно...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху