DaterangeTV как задать условие, публиковать ресурсы до КОНЦА диапазона?

По умолчанию получается задать условие на начало диапазона:
[[pdoResources?
    &where=`["dateRange >= \"[[!today]]\""]`
]]
А нужно, что бы фильтровались события, у которых весь срок «вышел».
Помогите пожалуйста, документацию смотрел так и сяк, но видимо многих вещей еще не знаю, что б разобраться, а нужна как бы только одна строка кода, видимо((
Вот документация на расширение

Там есть вот такая формулировка, но что с ней делать?

Template Variable that contains the end value of the daterange. If used, the DaterangeTV contains only the start value. The end value template variable should be created as a hidden template variable type.

Заранее спасибо!!!
Серый
30 июня 2023, 12:52
modx.pro
1
288
0

Комментарии: 6

Гарри
01 июля 2023, 14:13
0
Вы должны создать второй TV с типом ввода = «Скрытый».
Затем в настройках TV «dateRange», установите дропдаун «End Value Template Variable:» на этот новый TV.
    Серый
    10 июля 2023, 11:50
    0
    Спасибо! Сделал. Но видимо что-то еще не знаю.
    Использую вот такой сниппет для вызова (the-end-date — это то самое скрытое TV):
    [[pdoResources?
        &depth=`1`
        &resources=``
        &includeTVs=`Project-poster, dateRange, noDate, the-end-date`
        &processTVs=`1`
        &prepareTVs=`1`
        &tpl=`ProjectItemTpl`
        &sortby=`dateRange`
        &sortdir=`ASC`
        &limit=`999`
        &where=`["the-end-date >= \"[[!today]]\""]`
        &tplWrapper=`@CODE: <div class="projects-list">[[+output]]</div> <!-- /.projects-list -->`
    ]]
    В результате ничего не выводит((
    Наверное как-то не так использую это TV?
    Подскажите пожалуйста, очень нужно

    PS
    И даже просто вызов на странице [[*the-end-date]] ничего не выводит.
      Гарри
      10 июля 2023, 12:14
      1
      +1
      Обычно данные хранятся в одном ТВ в формате:
      2023-07-10||2023-07-15

      Eсли вы используете 2 ТВ, существующие данные не перезаписываются автоматически. Для этого вам нужно написать SQL-запрос или PHP сниппет.

      В качестве альтернативы вы можете использовать решение только с 1 ТВ-полом и таким кодом
      [[!pdoResources?
          ...
          &where=`["SUBSTRING_INDEX(dateRange, '|', -1) < '[[!today]]'"]`
      ]]
        Серый
        10 июля 2023, 12:37
        0
        То есть у меня новые страницы бы работали бы с сортировкой по этому скрытому TV, а вот задним числом такое не прокатывает, верно?
        Ваш способ очень помог! Спасибо! А то для меня это запредельно, хотя вроде как азбука))
          Гарри
          10 июля 2023, 13:00
          0
          Да, если в базе уже есть сохраненные данные для TV «dateRange», то добавление опции «End Value Template Variable» не влияет на эти данные. Вы должны изменить значение TV в менеджере, чтобы увидеть изменение.
            Серый
            10 июля 2023, 13:09
            0
            Соответственно, у меня там уже под сотню ивэнтов и всё надо перевводить))
            Спасибо еще раз, ваше кунг-фу меня сильно выручило!)
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    6