Общая лента для типов контента

InstantCMS 2.X
#1 22 мая 2019 в 13:19
Хочу сделать такой вывод контента на сайте: общая лента, в которой выводятся посты (блог), новости, объявления, статьи. Сами типы контента еще строго не определены, это не так важно. Важно что они имеют отличия, например поля немного разные. То есть в общем виде все можно было бы сделать одним типом контента и разбить по категориям (посты, новости, объявления), но как тогда реализовать разный вывод полей для разных категорий?
Если же делать канонично, для каждого вида поста — свой тип, то как это все вывести одной лентой?
Хотелось бы разных решений, а то сейчас начну делать, а потом окажется, что есть более логичный и простой способ.

Для примера вот как сделано на Яндекс.Районах:
yandex.ru/local/districts
По умолчанию — общая лента и всё подряд показывается. Можно переключиться на Объявления, например. В объявлениях есть свои фишки — например как и в Инстанте можно загрузить несколько фоток. Есть кнопка связи с автором. А в постах например кнопка связи не нужна, а фото я хочу ограничить до 1 штуки на пост.
#2 22 мая 2019 в 13:29
Я думал над подобным. До сих пор вынашиваю реализацию сайта в виде одной ленты с фильтром.
Я бы делал это отдельным компонентом, который по cron дергает записи из типов контента и собирает в одной таблице.

Пытаться это все сделать одним запросом к базе мне кажется нереальным и тяжелым для хостинга в перспективе.
#3 22 мая 2019 в 15:22
Zau4man,

который по cron дергает записи из типов контента и собирает в одной таблице

Zau4man
Может для этого hook использовать.
#4 22 мая 2019 в 16:03
Можно использовать готовый виджет instantcms.ru/addons/wd-allcontent.html
Можно написать свой компонент, в котором сделать выборку из всех таблиц типов контента и в списке вывести только одинаковые поля для всех этих типов контента.
Можно дождаться момента, когда поля станут "категоре-зависимыми" и сделать всё в одном типе контента. Но ждать возможно придется долго.
#5 22 мая 2019 в 16:08

Может для этого hook использовать

@geminisf
Можно. Даже наверно нужно и не один:
— мониторить добавление
— редактирование
— удаление
— снятие с публикации

и т.п.
#6 23 мая 2019 в 04:49


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

Пытаться это все сделать одним запросом к базе мне кажется нереальным и тяжелым для хостинга в перспективе.

Zau4man

Отличная задумка, я бы купил
#8 23 мая 2019 в 08:37

Можно написать свой компонент, в котором сделать выборку из всех таблиц типов контента и в списке вывести только одинаковые поля для всех этих типов контента.

Loadырь
Думаю, сложновато это, тяжеловато получится.

Можно дождаться момента, когда поля станут "категоре-зависимыми" и сделать всё в одном типе контента. Но ждать возможно придется долго.

Loadырь
smileстолько терпения не хватит.
#9 23 мая 2019 в 11:16

В компоненте "Поиск" реализовано такое

Виктор
Там нет общей ленты. В список попадают записи только из выбранного типа контента.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.