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

Как реализовать такое на block pro?


     17.12.2023    Модули, Хаки    532

вопрос
Здравствуйте, как можно на block pro реализовать вывод новостей на будущее и на прошлое?

К примеру

Я добавил проект, он откроется завтра, в доп поле указана дата открытия. Как сделать чтобы вывелся проект в блоке "открытие завтра"? Чтобы послезавтра он перенёсся в блок в уже открытые проекты ?


Покажу скрин, чтобы понимали
Как реализовать такое на block pro?

Ответа пока нет


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

lutskboy
Эксперт

lutskboy - 18 декабря 2023 13:51 -

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

Jazzy
Юзер

Jazzy - 18 декабря 2023 20:41 -

Знаю, что 100% это делается на block pro:)

TeraMoune
Эксперт

TeraMoune - 19 декабря 2023 22:35 -

Нет, нельзя. Так как есть одна проблема связанная с этой возможностью.
Во первых для таких манипуляций требуется использовать выражения с применением функций mysql. А в модуле blockpro забито только три функция для параметра setFilter. Одна из них это NOW().

Функция возвращает полный формат даты и времени прямо сейчас. Других условий нету, а нам надо не просто сейчас, нам надо составлять выражение с манипуляцией даты и времени + использовать другие mysql функции, такие как CURDATE(), что значит только дату до дня.

Во вторых нам надо применять манипуляции с датой при помощи других функций и математические операции такие как вычитание или прибавление. И при выполнении любых выражений и использовании других функций кроме чистой NOW() все выражения будут расцениваться как строка.

Например: DATE_SUB(CURDATE(),INTERVAL 10 DAY) = 2023-12-09 на момент публикации комментария. (Но при таком выражении оно будет просто строковым значением. И мы получим Incorrect DATETIME value.)

Тестовый репозиторий установки плагинов: teramoune

Jazzy
Юзер

Jazzy - 20 декабря 2023 07:32 -

Смогли бы вы помочь ?:) за денежку

TeraMoune
Эксперт

TeraMoune - 20 декабря 2023 21:07 -

Я поторопился, setFilter можно было бы использовать для такой задачи но там есть параметры day, dayCount и future (В этих параметрах как раз применяется манипуляция с датой). Почитайте, ознакомьтесь и поиграйтесь с этими параметрами. Возможно что-то и получится, по описанию параметров это как раз то, что надо.

Смогли бы вы помочь ?:) за денежку

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

Тестовый репозиторий установки плагинов: teramoune

Jazzy
Юзер

Jazzy - 21 декабря 2023 01:39 -

Проигрался с этими параметрами, future включает прибавление дней. Но всеравно не могу допереть не как.
А так, я вывел календарь в addnews, чтобы пользователь смог сам добавить дату со стандартной формы newdate. Но не получилось не чего...

Я бы предложил, если бы знал цену этого вопроса. Как я понимаю для вас это не более часа работы ?:)

TeraMoune
Эксперт

TeraMoune - 21 декабря 2023 05:23 -

Проигрался с этими параметрами, future включает прибавление дней. Но всеравно не могу допереть не как.

А ну, так дело в дополнительных полях, всё о чём я писал связано с истинной датой публикации, а не каких-то там доп. поля. И я не нашёл ничего в документации чтобы хоть как-то было похоже на необходимую фильтрацию.

И мы возвращаемся к тому, что ваша уверенность скорей всего вас подвела. Либо вы увидели правильное исполнение реализации, а сами выбрали неправильное исполнение вот и не понимаете как.


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

Тестовый репозиторий установки плагинов: teramoune

Jazzy
Юзер

Jazzy - 21 декабря 2023 10:49 -

Причем тут, доп поля, если я говорю про стандартное поле newdate ? В дле заложено. Там можно выбирать когда опубликовать новостью и все

TeraMoune
Эксперт

TeraMoune - 21 декабря 2023 18:53 -

Причем тут, доп поля

В дле заложено.

Тогда не ясно почему вы называете дату публикации новым понятием. Это дата публикации, а не newdate. В системе нет понятия newdate от сюда и вывод, что используете доп. поля.

А еще вот тут цитирую:
Я добавил проект, он откроется завтра, в доп поле указана дата открытия. Как сделать чтобы вывелся проект в блоке "открытие завтра"?

Сказано в доп. поле указана дата открытия. Дата открытия должна соответствовать дате публикации новости.

Покажите всё как вы делаете, какие варианты пробовали. Покажите строки параметров которые вы применяете.

Вы хотя бы примеры документации проверяли ?

Тестовый репозиторий установки плагинов: teramoune

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

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

наверх