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

Вывод новостей из нескольких категорий


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

Казалось бы задача тривиальная, но нет.

Структура категорий на сайте примерно такая:

ID1 - Информация

ID2 - Диафильмы

- ID3 - Сказки

- ID4 - Мультфильмы

- ID5 - Стихи

- ID6 - Повести и рассказы

 

Необходимо вывести все новости из категорий ID3, ID4, ID5

Есть вот такой вариант:

ID1 - Информация

ID2 - Диафильмы

- ID7 - Для самых маленьких

- - ID3 - Сказки

- - ID4 - Мультфильмы

- - ID5 - Стихи

- ID6 - Повести и рассказы

Создать дополнительную категорию. Новости из трёх нужных категорий можно будет открыть по ссылке \diafilmy\dlya_samyh_malenkih\

Но тогда изменятся и ссылки в этих трёх категорий, с

\diafilmy\skazki\

на

\diafilmy\dlya_samyh_malenkih\skazki\

И тд...Ссылки менять не нужно, по этому данный вариант отпадает.

Нашёл второй вариант. Создал статическую страницу, задал для неё отдельный шаблон, в шаблоне прописал код:

{custom category="3,4,5" template="shortstory_1" navigation="yes" cache="yes"}

Казалось бы всё должно работать, но нет. Не выводится постраничная навигация. В документации об этом указано:

Цитата

navigation принимает значения yes или no - устанавливает использовать вывод навигации по страницам или нет. Навигация выводится только для страниц сайта, которые поддерживают навигацию для тега {content}, например, главная страница, страницы категорий и т.д. Если же страница не поддерживает навигации, например, вывод полной новости, или статической страницы, то для данного тега навигация автоматически также будет отключена независимо от указанного значения.

Следовательно и этот вариант тоже не подходит.

Я опять туплю, или сделать задуманное мною стандартными способами DLE не получится? :D

http://diafilmy.su/

DLE 11

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

Я опять туплю, или сделать задуманное мною стандартными способами DLE не получится

Получится :) Просто вместо статической страницы создай пустую категорию, допустим у нее будет id=50, тогда в main.tpl надо вставить где контент и инфо



[not-category=50]{info}{content}[/not-category]
[category=50]{custom category="3,4,5" template="shortstory_1" navigation="yes" cache="yes"}[/category]



 


 


 


 


 

Таким образом, к самой категории с айди 50 эти новости относиться не будут и урлы не поменяются, а выводиться будут так как надо

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

alex32, вариант хороший. Единственный нюанс- так как категория пустая, то не получится вывести модуль сортировки новостей тегом [sort]

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

ТАк он же вроде в custom  и не работает. То есть, даже если туда добавить одну новось, то выодиться сортировка станет, но работать то, сортировать не будет кастомные новости. Это просто альтернатива варианту со статической страницей

 

Изменено пользователем alex32
Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Mek сказал:

сделаю через пустую категорию

ты не торопись, создав пустую категорию, она будет отдавать код 404, а не 200. Поэтому решение нужно другое, а именно такое:

начало http://forum.dle-news.ru/topic/67740-%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F-%D0%BA-dle/

и потом уже: http://forum.dle-news.ru/topic/67741-%D1%81%D0%BE%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F-%C2%AB%D0%BB%D1%83%D1%87%D1%88%D0%B8%D0%B5-%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8%C2%BB/

но в твоём случае не лучшие новости, а для самых маленьких, и по аналогии можно и для взрослых замутить B)

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

создать одну новость в этой категории и снять галочку "публиковать на главной" и поставить на "Запретить индексацию страницы для поисковиков" в этой новости не так уж и сложно, и не будет никакой 404. Кстати и тег {sort} выведется в шаблоне, только работать не будет )))


 

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

создать одну новость

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

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

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

Все проще. Если создать ПУСТУЮ категорию но вывести в ней через кастом новости из других категорий, то страница отдает 200 ОК, только что проверил.Так что можно даже не заморачиваться и не надо никаких левых новостей создавать и модули впихивать.

Изменено пользователем alex32
Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, odys сказал:

ты не торопись, создав пустую категорию, она будет отдавать код 404, а не 200.

Не будет. В актуальный версиях это не предусмотрено. Если в шаблоне для данной странице нет тега {content}, а есть {custom...} то DLE это разпознает и выведет нормальный 200 код. А если есть тег  {content} то будет уже 404 ошибка.

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

Я уже запутался :)

Создал пустую категорию с id18, в main.tpl сделал:

[not-category=18]{info}[/not-category]

Чтоб не выводилась ошибка что в данной категории нет новостей.

И далее тегом выводим в этой категории содержимое трёх категорий:

[category=18]{custom category="4,5,9" template="shortstory_1" navigation="yes" cache="yes"}[/category]

Получаем:

http://diafilmy.su/diafilmy_kids/

Всё верно, ошибки нет?

Ссылка на сообщение
Поделиться на других сайтах
8 минут назад, Mek сказал:

[not-category=18]{info}[/not-category]

Чтоб не выводилась ошибка что в данной категории нет новостей.

нет. тег {content}  тоже надо убрать, что бы не было 404 ошибки. Соответственно, правильно так:


 

[not-category=18]{info}{content}[/not-category][category=18]{custom category="4,5,9" template="shortstory_1" navigation="yes" cache="yes"}[/category]

потому что


 

28 минут назад, celsoft сказал:

если есть тег  {content} то будет уже 404 ошибка.


 


 

Ссылка на сообщение
Поделиться на других сайтах
38 минут назад, alex32 сказал:

нет. тег {content}  тоже надо убрать, что бы не было 404 ошибки. Соответственно, правильно так:

Так если убрать тег {content} то постраничная навигация не будет выводиться!

Ссылка на сообщение
Поделиться на других сайтах
9 минут назад, Mek сказал:

Так если убрать тег {content} то постраничная навигация не будет выводиться!

будет, в данном случае тег {content} не имеет никакого отношенияк постраничной навигации, ее выводит {custom}. А вот если НЕ убрать {content} то будет еррор 404  Я же проверил эту конструкцию, все правильно,  и кстати, тег {info} не надо прятать, он не будет выводить ошибку, есть на странице будет вывод кастомом. Вот так и вставляй:



[not-category=18]{content}[/not-category][category=18]{custom category="4,5,9" template="shortstory_1" navigation="yes" cache="yes"}[/category]

Просто в данном случае для скрипта {custom} == {content}
 

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

Коллеги, подскажите, пожалуйста, а как быть в данном случае с поиском при выборе категории, где отсутствует {content}, т.е. не выводятся результаты поиска.

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

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

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

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

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

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

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

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

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

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