dle.in.ua » Хаки » Запрет вывода определённой категории на главной странице

Запрет вывода определённой категории на главной странице

Автор: lex-film от 9-02-2011, 19:15
Запрет вывода определённой категории на главной странице


Хак запрещает вывод определённой категории на главной странице сайта.
Заходим в файл по адресу /engine/engine.php

Находим блок

// ################ Новости на главной #################

Ищем строчку в этом блоке вида


$sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, xfields, title, im, category, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, votes, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post WHERE {$stop_list}approve AND allow_main" . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];


И заменяем на


//замените в переменной $IDcategory=3;  тройку на id категории

$IDcategory=3;

$sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, xfields, title, im, category, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, votes, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post WHERE {$stop_list}approve AND allow_main AND category<$IDcategory or category>$IDcategory " . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];


Заменить в переменной $IDcategory=3; тройку на id категории

При таком раскладе категория со значением id равным 3 не будет выводится на главной странице сайта.

Автор: lex-film
Тестил на Dle 9.2

Исправлен баг вывода полной новости, теперь всё работает норм.
  • Группа: User
  • Icq: --
  • Комментариев: 1
  • Публикаций: 1
  • Откорректированный вариант (рабочий вариант)


    $IDcategory=3;

    $sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, votes, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post WHERE {$stop_list}approve AND allow_main AND category<".$IDcategory." or category>".$IDcategory." " . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
    • lex-film
    • Регистрация: 24.06.2010
    • Репутация: (0|0|0)
    • 11 февраля 2011 13:51
    • 1
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 3
  • Публикаций: 0
  • Не работает sad
    • Ej
    • Регистрация: 5.02.2011
    • Репутация: (0|0|0)
    • 12 февраля 2011 05:48
    • 2
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 52
  • Публикаций: 3
  • МУСОР!
    Зачем изобретать велосипед?
    В DLE есть специальные функции, например, "Снять публикацию на главной" или убрать флажок возле "Публиковать на главной"

    P.S. Зачем Вы 'писали' 'хак'?
    • oleksdanderm
    • Регистрация: 30.08.2008
    • Репутация: (0|0|0)
    • 13 февраля 2011 09:58
    • 3
    ^
  • Группа: User
  • Icq: 406319618
  • Комментариев: 20
  • Публикаций: 1
  • Цитата: oleksdanderm
    МУСОР!
    Зачем изобретать велосипед?
    В DLE есть специальные функции, например, "Снять публикацию на главной" или убрать флажок возле "Публиковать на главной"

    P.S. Зачем Вы 'писали' 'хак'?


    При добавлении новости в определенную категорию надо было снимать флажок с Запостить на главной в ручную. Многие забывают снимать флажок, а этот хак сам снимает флажок с запостить на главной при добавлении новости в определенную категорию!
    • NeedlE
    • Регистрация: 5.01.2010
    • Репутация: (0|0|0)
    • 13 февраля 2011 21:56
    • 4
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 26
  • Публикаций: 2
  • NeedlE, Этот хак фильтрует запрос на вывод :) Галочки тут непричём.
    • rashpil
    • Регистрация: 24.11.2009
    • Репутация: (0|0|0)
    • 14 февраля 2011 05:12
    • 5
    ^
  • Группа: User
  • Icq: 406319618
  • Комментариев: 20
  • Публикаций: 1
  • Цитата: rashpil
    NeedlE, Этот хак фильтрует запрос на вывод :) Галочки тут непричём.


    Ну я это имел ввиду, ни силен я в этом :)
    • NeedlE
    • Регистрация: 5.01.2010
    • Репутация: (0|0|0)
    • 14 февраля 2011 20:32
    • 6
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 52
  • Публикаций: 3
  • Цитата: NeedlE
    При добавлении новости в определенную категорию надо было снимать флажок с Запостить на главной в ручную. Многие забывают снимать флажок, а этот хак сам снимает флажок с запостить на главной при добавлении новости в определенную категорию!

    Забывают снимать, только растяпы. ИМХО.
    • oleksdanderm
    • Регистрация: 30.08.2008
    • Репутация: (0|0|0)
    • 15 февраля 2011 11:33
    • 7
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 28
  • Публикаций: 0
  • лучше уж сделать хак по выводу определенной категории или категорий на главную
    • Diezzza
    • Регистрация: 25.01.2009
    • Репутация: (0|0|0)
    • 16 февраля 2011 10:13
    • 8
    ^
  • Группа: User
  • Icq: 1739390
  • Комментариев: 274
  • Публикаций: 44
  • Diezzza,
    так и есть на самом деле)

    --------------------
    • AlexBen
    • Регистрация: 29.01.2010
    • Репутация: (8|7|-1)
    • 16 февраля 2011 12:02
    • 9
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 1
  • Публикаций: 0
  • не подскажете как сделать на главной вывод определенных категорий?
    • baksd
    • Регистрация: 17.11.2010
    • Репутация: (0|0|0)
    • 5 марта 2011 21:23
    • 10
    ^
  • Группа: User
  • Icq: 628759137
  • Комментариев: 73
  • Публикаций: 2
  • NeedlE,

    При добавлении новости в определенную категорию надо было снимать флажок с Запостить на главной в ручную. Многие забывают снимать флажок, а этот хак сам снимает флажок с запостить на главной при добавлении новости в определенную категорию!


    Текстовый редактор тебе в помощь. идшь по путям

    engine/inc/addnews.php и editnews.php


    ищешь

    if( $user_group[$member_id['user_group']]['allow_main'] ) $main_input = "<input type=\"checkbox\" name=\"allow_main\" value=\"1\" checked> {$lang['addnews_main']}";

    меняешь на это

    if( $user_group[$member_id['user_group']]['allow_main'] ) $main_input = "<input type=\"checkbox\" name=\"allow_main\" value=\"1\"> {$lang['addnews_main']}";

    дальше шуруешь в engine/modules/addnews.php

    ищешь

    if( $user_group[$member_id['user_group']]['allow_main'] ) $admintag .= "    <input type=\"checkbox\" name=\"allow_main\" value=\"1\" checked=\"checked\" />" . $lang['add_al_m'];

    меняешь на это

    if( $user_group[$member_id['user_group']]['allow_main'] ) $admintag .= "    <input type=\"checkbox\" name=\"allow_main\" value=\"1\" >" . $lang['add_al_m'];

    Теперь флажок постояно будет снят wink
    • dns_ua
    • Регистрация: 19.06.2010
    • Репутация: (1|1|0)
    • 6 марта 2011 03:28
    • 11
    ^
  • Группа: User
  • Icq: 305405000
  • Комментариев: 3
  • Публикаций: 0
  • Хак заработал, DLE 7.3
    вот этот код работает
    $IDcategory=21; 21 это категория которую не выводим на главной
    $sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, votes, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post WHERE {$stop_list}approve AND allow_main AND category<".$IDcategory." or category>".$IDcategory." " . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

    dns_ua
    Не совсем понял насчет категорий? Для категории новостей или категории пользователей будет чекбокс снят? Если для пользователей то это не к чему.
    • admydoor
    • Регистрация: 8.03.2011
    • Репутация: (0|0|0)
    • 9 марта 2011 00:49
    • 12
    ^
  • Группа: User
  • Icq: 628759137
  • Комментариев: 73
  • Публикаций: 2
  • admydoor,

    Для категории новостей или категории пользователей будет чекбокс снят?


    Причем тут это всё?. И где ты такое в dle видал.
    wink

    Чебокс будет снят для всех при добалении новости независимо откуда они добавляются. bs
    • dns_ua
    • Регистрация: 19.06.2010
    • Репутация: (1|1|0)
    • 9 марта 2011 13:45
    • 13
    ^
  • Группа: User
  • Icq: 305405000
  • Комментариев: 3
  • Публикаций: 0
  • И что меняется? Снять чекбокс с порнухи или поставить на все остальные в чем смысл? Я думаю что более красиво и правильно будет доработать движок что бы в админке была возможность поставить или снятьчекбокс на категорию которую не нужно публикать на главной. А хак автора только запрещает выводить новости из определенной категории, при редактировании новости через админку, чекбокс стоит но новость всеравно не выводится
    • admydoor
    • Регистрация: 8.03.2011
    • Репутация: (0|0|0)
    • 9 марта 2011 17:40
    • 14
    ^
  • Группа: User
  • Icq: 305405000
  • Комментариев: 3
  • Публикаций: 0
  • рано радовался, тот код не совсем рабочий, пагинатор(листалка страниц) перестал отображаться, а вот этот работает так как надо, в engine.php примерно на 415 строке добавляем то что выделено красным
    $sql_select = "SELECT SQL_CALC_FOUND_ROWS id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, rating, vote_num, news_read, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post WHERE {$stop_list}approve AND allow_main AND category!=20 AND category!=21 ".$where_date." ORDER BY ".$fixed.$news_sort_by." ".$news_direction_by." LIMIT ".$cstart.",".$config['news_number'];

    20 и 21 это айди категорий которые не нужно выводить на главной, можете сами убедиться на сайте http://admydoor.ru
    • admydoor
    • Регистрация: 8.03.2011
    • Репутация: (0|0|0)
    • 10 марта 2011 01:55
    • 15
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 7
  • Публикаций: 0
  • admydoor,
    Спасибо, твой вариант действительно робочий
    • WildWolf
    • Регистрация: 1.03.2011
    • Репутация: (0|0|0)
    • 10 апреля 2011 23:36
    • 16
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 1
  • Публикаций: 0
  • Все работает, ДЛЕ 9.2
    только там для одной категории написано, там если добавлять еще категории нужно создавать новые переменые
    • vov41k
    • Регистрация: 22.02.2011
    • Репутация: (0|0|0)
    • 29 июня 2011 02:27
    • 17
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 7
  • Публикаций: 0
  • Очень плохая штука. Лучше жать "не выводить на главной" так как, появляются пустые страницы <_<
    • WildWolf
    • Регистрация: 1.03.2011
    • Репутация: (0|0|0)
    • 2 июля 2011 23:58
    • 18
    ^
    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.