Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как запретить вывод определенной категории на главной?

Как запретить вывод определенной категории на главной?


     13.05.2016    Все вопросы » Общие вопросы    5426

вопрос
Застрял с вопросом, как же можно запретить вывод определенной категории на главной странице сайта... Можете помочь с решением? А убрать хочу из-за того, что оформление не подходит... Для статей как раз оформление подошло, а для литературы не то... А заказывать переверстку пока не могу((( Помогите пожалуйста

Ответил: frost-agb


вместо {content} в main.tpl,
вставить
{custom category="1-99" template="shortstory" aviable="global" from="0" limit="10" order="date" cache="no" navigation="yes"}


и укажите в category, какие категории нужно отображать.

11 комментариев

baseroad
Юзер

baseroad - 13 мая 2016 23:03 -

Ну помогите пожалуйста, очень нужна Ваша помощь!(((

cartman
Юзер

cartman - 14 мая 2016 00:12 -

shortstory сделать другой и все, а если через custom то [not-aviable=main][/not-aviable]

baseroad
Юзер

baseroad - 14 мая 2016 09:23 -

cartman,
У меня адаптивный дизайн, а с ним я не очень сильно дружу(((

nurbekov
Юзер

nurbekov - 14 мая 2016 10:12 -

Как вариант:
В main.tpl выводи новости так:
[available=main]{custom id="1,2,3,5"}[/available]
[not-available=main]{custom id="4"}[/not-available]

Где 4 - это категория, которую ты не хочешь выводить на главной.

Предварительно поставь в настройках движка вывод через {custom}

Другой вариант:
Создай новый шаблон и установи его в качестве шаблона для категории 4

nowheremany
Эксперт

nowheremany - 14 мая 2016 10:39 -

Как вариант тупо запрос написать, что бы он снимал с главной новости из категории

Благодарность принимаю тут Связь

baseroad
Юзер

baseroad - 14 мая 2016 11:14 -

Цитата: nowheremany
Как вариант тупо запрос написать, что бы он снимал с главной новости из категории

Можете помочь написать такой запрос? Нужно убрать категорию id1 с главной

nowheremany
Эксперт

nowheremany - 14 мая 2016 11:45 -

update dle_post set allow_main='0' where id in (1,2,3,4) or category in(5,6,7,8);

уберёт с главной новости с id 1,2,3,4 или категории 5,6,7,8

Благодарность принимаю тут Связь

baseroad
Юзер

baseroad - 14 мая 2016 18:31 -

Блин, можно все проще сделать)))) Снять у всех старых новостей галочку "Публиковать на главной" в разделе редактирования новостей, а в новых просто ее не ставить при публикации))

frost-agb
Юзер

frost-agb - 16 мая 2016 14:32 -

вместо {content} в main.tpl,
вставить
{custom category="1-99" template="shortstory" aviable="global" from="0" limit="10" order="date" cache="no" navigation="yes"}

и укажите в category, какие категории нужно отображать.

baseroad
Юзер

baseroad - 11 августа 2016 10:47 -

Цитата: nowheremany
update dle_post set allow_main='0' where id in (1,2,3,4) or category in(5,6,7,8);

уберёт с главной новости с id 1,2,3,4 или категории 5,6,7,8

Я прописал вот так, чтобы убрать только нужную категорию, но не получилось нечего, категории остались на главной...
update dle_post set allow_main='0' where category in (1);

yeahga
Юзер

yeahga - 9 июля 2017 00:38 -

В файле engine/engine.php
после строчки:
// ################ Новости на главной #################

найти:

$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE {$stop_list}approve=1 AND allow_main=1" . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$stop_list}approve=1 AND allow_main=1" . $where_date;


заменить на:

if ($config['allow_multi_category']) {
							
							$cats_not_in_main = "category NOT REGEXP '[[:<:]](1|2|3)[[:>:]]' AND ";
						
						} else {
							
							$cats_not_in_main = "category NOT IN (1,2,3) AND ";
						
					}
					
					$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE {$cats_not_in_main}{$stop_list}approve=1 AND allow_main=1" . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
					$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$cats_not_in_main}{$stop_list}approve=1 AND allow_main=1" . $where_date;


1,2,3 - категории, которые хочешь исключить

Пример для DLE 11.3

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх