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

Как выводить анонсы в категории?


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

Задача: публикация в категорию анонсов/акционных предложений, действующих строго ограниченный период времени и соответственно вывод их в категории, а также автоматическое снятие с публикации по истечении срока публикации. Затем планирую сделать JS фильтр по дате. Желательно для облегчения работы журналистов, при публикации анонса задавать только время начала публикации и время окончания (без использования доп полей).

 

Начиная с версии 11.3 у нас есть замечательная штука futureannounce:

{custom category="1" futureannounce="yes" days="999"}

Только вот непонятно как ее применить для вывода в категориях новостей, которые запланированы для выхода. Пока вижу такой вариант:

сделать ручной шаблон категории, и через futureannounce выводить запланированные новости. Но тогда будет выдаваться сообщение что новостей в категории нет (ведь они все сначала запланированы), а потом уже пойдет ручной вывод анонсов через custom.

 

Но это еще полбеды, вывести анонс недостаточно - надо чтобы анонс при клике открывался, но пользователи не могут открывать запланированные новости. И настройки такой в группах нет.

 

Может кто подскажет, как решить задачу:

- вывести запланированные новости в категории

- показать содержимое запланированных новостей при клике на них

 

Заранее благодарен

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

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

Через теги avaliable и category не выводите для этой категории тег {content}, тогда и сообщения этого не будет

Ссылка на сообщение
Поделиться на других сайтах
20 часов назад, celsoft сказал:

Через теги avaliable и category не выводите для этой категории тег {content}, тогда и сообщения этого не будет

Спасибо большое. Осталось только решить как показать содержимое запланированных новостей для определенной группы, из определенной категории. Возможно ли это?

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

Спасибо большое. Осталось только решить как показать содержимое запланированных новостей для определенной группы, из определенной категории. Возможно ли это?

возможно. теги group https://dle-news.ru/extras/online/index.html?startnews.html

Ссылка на сообщение
Поделиться на других сайтах
В 12.02.2018 в 09:14, celsoft сказал:

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

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

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

Вы хотите выводить на своем сайте новости, дата которых не наступила? Для этого есть настройка скрипта:

Цитата

Выводить на сайте новости, дата публикации которых, еще не наступила

 

При включении данной настройки, на сайте будут выводится новости, дата публикации которых, еще не наступила. При отключении данной настройки, новости будут появляться на сайте по мере наступления времени публикации.

Но это общая настройка, а не для определенных групп.

Ссылка на сообщение
Поделиться на других сайтах
В 20.02.2018 в 08:23, celsoft сказал:

Но это общая настройка, а не для определенных групп.

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

Сейчас делаю костыль (очередной) через [xfvalue_x] для отображения дополнительного контента.

 

Но есть очередная проблема - при использовании futureannounce перестают выводиться те новости, которые уже опубликованы и срок которых не истек. А мне надо чтобы скрипт выводил все новости из категории, у которых не окончена дата публикации. Единственный вариант - это вывод через {content} тех новостей, дата у которых уже наступила, и дополнительно через futureannounce тех новостей, которые запланированы на будущее. Но тогда надо как то отключить предупреждение (что новостей в категории нет) если все новости запланированы. Это уже будет даже не знаю какой по счету костыль...

 

P.S. к последнему абзацу добавление: есть еще способ, вывести опубликованные, но незаконченные новости также через {custom}, не используя {content}. Но опять же - все равно остается два списка новостей - те которые уже опубликованы, и те, которые запланированы. И между ними сортировка невозможна. В случае с маленьким набором можно сортировать через JS, но если новостей много - нужна пагинация, и тут уже проблема.

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

Единственный вариант - это вывод через {content} тех новостей, дата у которых уже наступила, и дополнительно через futureannounce тех новостей, которые запланированы на будущее.

Так и нужно делать

 

11 час назад, YuriBtr сказал:

Но тогда надо как то отключить предупреждение (что новостей в категории нет) если все новости запланированы.

Для этого нужно убрать тег {content} с этой страницы. Сделать это можно тегами [available] и [not-available]

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

И наверное последний вопрос, при выводе через {custom} можно получить дату окончания публикации статьи? И поддерживается ли php в шаблонах?

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

при выводе через {custom} можно получить дату окончания публикации статьи?

Нет

 

32 минуты назад, YuriBtr сказал:

И поддерживается ли php в шаблонах?

https://dle-news.ru/extras/online/index.html?modules_include.html

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

Спасибо за помощь. И еще вопрос нарисовался: могу ли я использовать в шаблонах свой кастомный тег, например {expire-date} при условии обработки такового в \engine\modules\show.short.php ?

                if (isset($row['expires'])) {
                    $tpl->set( '{expire_date}', $row['expires']);
                } else {
                    $tpl->set( '{expire_date}', 'no');
                };

Почему то в шаблоне тег {expire_date} ничем не заменяется ((( Неужели список тегов строго ограничен?

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

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

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

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

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

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

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

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

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

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