Убираем новости категории с главной станицы | Вебмастер DataLife Engine

Убираем новости категории с главной станицы

При использовании DLE часто встает необходимость сделать так, что бы определенная категория или несколько категорий не отображались на главной странице (например XXX категории). Это конечно можно сделать используя стандартные средства DLE – снять галочку отображать на главной в редактировании новостей. Но если у Вас на сайте несколько журналистов использующих программы для автоматической публикации новостей и публикуют они без модерации, не лишать же их статуса журналист, за то что они не снимают эту галочку при публикации, тем более что новости у них оформлены хорошо и они являются основными «поставщиками» новостей на Ваш сайт. Для решения этой проблемы можно использовать хак, который автоматически снимет публикацию с главной если она входит в список категорий, которые мы не хотим что бы отображались на главной странице.

Данный хак 100% рабочий, потому что он использует стандартные DLE функции.
При добавлении новости, ХАК определяет показывать эту новость на главной ли нет.
Изменения вносятся в файле engine\modules\addnews.php

где строку

¦lt;br /> if ($user_group[$member_id[‘user_group’]][‘allow_main’]) $allow_main = intval($_POST[‘allow_main’]); else $allow_main = 0;
$approve = intval($_POST[‘approve’]);
$allow_rating = intval($_POST[‘allow_rating’]);
if ($user_group[$member_id[‘user_group’]][‘allow_fixed’]) $news_fixed = intval($_POST[‘news_fixed’]); else $news_fixed = 0;
if (!count($_REQUEST[‘catlist’])) {$catlist = array (); $catlist[] = ‘0’;} else $catlist = $_REQUEST[‘catlist’];
$category_list = $db->safesql(implode(‘,’, $catlist));

меняем на

$allow_comm = intval($_POST[‘allow_comm’]);
$approve = intval($_POST[‘approve’]);
$allow_rating = intval($_POST[‘allow_rating’]);
if ($user_group[$member_id[‘user_group’]][‘allow_fixed’]) $news_fixed = intval($_POST[‘news_fixed’]); else $news_fixed = 0;
if (!count($_REQUEST[‘catlist’])) {$catlist = array (); $catlist[] = ‘0’;} else $catlist = $_REQUEST[‘catlist’];
$category_list = $db->safesql(implode(‘,’, $catlist));

if ($category_list==ID категории) { //для добаления нескольких категорий используйте оператор OR
$allow_main = 0;
} else {
if ($user_group[$member_id[‘user_group’]][‘allow_main’]) $allow_main = intval($_POST[‘allow_main’]); else $allow_main = 0;

  • Posted on 1. июля 2009
  • Written by admin
Оставить комментарий
 

Еще нет никаких комментариев.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *