Главная страница новостного сайта?
Здравствуйте, уважаемое сообщество!
Подскажите, как решить задачу.
Решил сделать главную страницу по типу новостной, как у Яндекс новостей.
На главной есть тематические виджеты (Экономика, Спорт, Культура и т. д.) и вверху виджет “Главные новости“.
Задача, нужно сделать так, если новость находится в виджете “Главные новости“, то она исключается из тематического виджета.
Подходящего готового решения в интернете не нашел.
Решил определиться с алгоритмом, мой вариант такой.
Сделать отдельную табличку, куда буду записывать id ресурсов, которые будут попадать в виджет “Главные новости”.
Сделать плагин, который перед сохранением, будет дописывать туда id нового ресурса и один старый удалять.
Каждый виджет выводит отдельный pdoResources, где настраиваю &where таким образом, что бы он обращался к данной табличке. В “Главных новостях”, pdoResources выводит те ресурсы id которых содержатся в табличке, а в тематических виджетах, наоборот не выводит ресурсы id которых записаны в таблицу.
Скажите, правильно ли я мыслю, и вообще можно в &where написать условие, что бы оно анализировало стороннюю таблицу?
Подскажите, как решить задачу.
Решил сделать главную страницу по типу новостной, как у Яндекс новостей.
На главной есть тематические виджеты (Экономика, Спорт, Культура и т. д.) и вверху виджет “Главные новости“.
Задача, нужно сделать так, если новость находится в виджете “Главные новости“, то она исключается из тематического виджета.
Подходящего готового решения в интернете не нашел.
Решил определиться с алгоритмом, мой вариант такой.
Сделать отдельную табличку, куда буду записывать id ресурсов, которые будут попадать в виджет “Главные новости”.
Сделать плагин, который перед сохранением, будет дописывать туда id нового ресурса и один старый удалять.
Каждый виджет выводит отдельный pdoResources, где настраиваю &where таким образом, что бы он обращался к данной табличке. В “Главных новостях”, pdoResources выводит те ресурсы id которых содержатся в табличке, а в тематических виджетах, наоборот не выводит ресурсы id которых записаны в таблицу.
Скажите, правильно ли я мыслю, и вообще можно в &where написать условие, что бы оно анализировало стороннюю таблицу?
Комментарии: 6
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Если мусор хочется почистить иногда, то можете создать скрипт, который будет выбирать новости старше N дней и убирать с них галку Главная новость и запускать такой скрипт в cron раз в сутки.
Парится по поводу того, что не попадет в тематический виджет, не стоит. Потому что в них тоже будут новости и количество их будет лимитировано. Допустим была главная новость в экономике, она больше не главная, но за это время добавилось 5 новостей в раздел Экономика, а виджет показывает только 5 штук. Следовательно она и так не попадет в виджет. Т.е. временные отрезки и там и там одинаковы, а учитывая, что главные новости добавляются реже, то к моменту потери актуальности они будут далеко в конце ленты. А если какую-то новость нужно таки снять с главной прямо сейчас, то это уже будет в ручном режиме происходить.
Вариант с пересохранением отживших новостей через плагин не самый подходходящий, так как вы не знаете точное количество главных новостей сегодня (их может вообще не быть).