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

Второй блок новостей на главной


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

Уважаемые!

На сайте есть стандартный вывод новостей как это устроено в движке. Но мне в определенном месте еще нужно выводить отдельно новости из определенной категории. Как это реализовать? Спасибо!

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

в смысле просто еще 1 блок в котором будут краткие новости или поделить главную полосу поплам ?

если с определенной категориии то вот так я делал , просто переделал модуль top news

в index.php перед

$config['http_home_url'] = reset(explode("index.php", $_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 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, 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 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", $topnews, $config['skin']);

	}


	return $topnews;

}
вставляем тег {topnews category="ID категории"}
DESC LIMIT 0,10

эта цифра в коде ну 0.10 соотвецтвует количеству выводимых новостей в колонке.

блин , искал фенечку для своего портала одну , зашол на твой сайт и цбил там минут 10 ))))) http://cityfun.ru/2007/10/11/kak-nkvd-dobi...priznanijj.html вот на этой статье )))

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

для этого предусмотрен стандартный тег {custom} его параметры и описание даны в документации

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

для этого предусмотрен стандартный тег {custom} его параметры и описание даны в документации

{custom} - это хорошо, но хотется чтобы у дле была возможность выводить новости несколькими способами: например в нужной категории вывод новостей в несколько колонок, а в другой (тоже нужной :D ) чтоб в одну.

Если это нельзя организовать в стандартной версии - то сделайте за отдельную плату такие дополнения.

Хочется именно от разработчика получать такие модули, хаки, и пр.

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

например в нужной категории вывод новостей в несколько колонок, а в другой (тоже нужной ) чтоб в одну.

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

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

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

- это можно сделать без изменения файлов скрипта???

ОК - тогда можно какой нибудь простейший пример шаблона в 2 колонки.

(насколько я понимаю, то править надо shortstory.tpl)

P.S.

Излазил весь форум, и на эту тему нашел только решение "хирургическим вмешательством" в код движка.

Хотелось бы туда не лазить. (в код)

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

- это можно сделать без изменения файлов скрипта???

совершенно верно

ОК - тогда можно какой нибудь простейший пример шаблона в 2 колонки.

(насколько я понимаю, то править надо shortstory.tpl)

тоже верно, пример

<div style="width:50%;float:left;">тут код шаблона</div>

это называется плавающие слои.

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

Спасибо большое!

Я отдавал предпочтение таблицам, но почитал немного инфы - оказалось что верстка слоями "облегчает" сайт для загрузки браузерами, и что еще актуально для наших юзеров - для модэмной связи.

Придется учиться работать со слоями.

More thanks!

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

Я отдавал предпочтение таблицам, но почитал немного инфы - оказалось что верстка слоями "облегчает" сайт для загрузки браузерами, и что еще актуально для наших юзеров - для модэмной связи.

Придется учиться работать со слоями.

ничего не мешает сделать

<div style="width:50%;float:left;">тут код шаблона в таблице</div>

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

Спасибо celsoft за уделенное внимание этой теме.

ничего не мешает сделать

Код

<div style="width:50%;float:left;">тут код шаблона в таблице</div>

Это мне понятно стало сразу, но я решил пойти дальше и сделал самостоятельно шаблон почти полностью на слоях, правда частично и таблицами (поиск, юзеринфо...) + CSS, пока что на Дэнвере, но как запущу сайт - покажу.

Очень помог в этом деле (по слоям и CSS) сайт _htmlbook.ru - за что большое спасибо этому ресурсу.

Добавлю что сайты на таких шаблонах бестрее грузятся и лучше индексируются поисковиками, т.к. пока не загрузится весь контент заключенный в таблице - таблица не покажется, ну и еще много чего.

Я по-новому начал смотреть на верстку сайтов и уделять этому больше внимания.

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

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

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

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

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

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

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

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

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

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