Jump to main content Jump to doc navigation

Что такое getDate?

Простой сниппет получения timestamp для MODX Revolution.

История

getDate написал David Pede (davidpede), релиз. 22 ноября 2013 года.

Загрузка

Установите через менеджер MODX Revolution в разделе Package Management, или скачайте из репозитория MODX Extras: https://modx.com/extras/package/getDate

Исходный код и build script: https://github.com/tasianmedia/getDate

Баги и запросы функций

Баги, issues и feature requests: https://github.com/tasianmedia/getDate/issues

Использование

Сниппет getDate вызывается тегом:

[[!getDate]]

getDate можно вызывать с кэшем или без.

Доступные свойства

Свойства выбора

Name Description Default Value Added in Version
offset Период для добавления или вычитания от текущего timestamp. Форматы strtotime(). now 1.0.0-pl
Example Offset Example Snippet Call
+5 Hours [[!getDate? &offset=5 hour]]
+4 Days [[!getDate? &offset=4 day]]
+3 Weeks [[!getDate? &offset=3 weeks]]
+2 Months [[!getDate? &offset=2 month]]
+1 Year [[!getDate? &offset=1 year]]
-5 Hours [[!getDate? &offset=-5 hour]]
-4 Days [[!getDate? &offset=-4 day]]
-3 Weeks [[!getDate? &offset=-3 weeks]]
-2 Months [[!getDate? &offset=-2 month]]
-1 Year [[!getDate? &offset=-1 year]]

Все относительные форматы strtotime(): http://www.php.net/manual/en/datetime.formats.relative.php

Формат даты

Output Filters

getDate выводит unix timestamp. Для человекочитаемого формата используйте MODX Output Filter 'date'.

Example Output The Filter Parameters
22 November 2013 [[!getDate:date=%e %B %Y]]
Fri Nov 22, 2013 [[!getDate:date=%a %b %e, %Y]]
Friday, November 22, 2013 [[!getDate:date=%A, %B %e, %Y]]
2013-11-22 [[!getDate:date=%Y-%m-%d]]

Все параметры форматирования даты: revolution/2.x/making-sites-with-modx/commonly-used-template-tags/date-formats#DateFormats-AllParameters

Примеры

Текущий unix timestamp:

[[!getDate]]

Текущая дата (YYYY-MM-DD) через output filters:

[[!getDate:date=`%Y-%m-%d`]]

Дата два месяца назад (YYYY-MM-DD):

[[getDate:date=`%Y-%m-%d`? &offset=`-2 month`]]

getDate с getResources

С getResources getDate даёт фильтрацию по дате и времени по полям ресурса и TV.

Поля ресурса

Примеры с параметром '&where' и полями ресурса.

Только ресурсы, опубликованные за последние три месяца:

[[!getResources?
    &parents=`[[*id]]`
    &tpl=`myRowTpl`
    &where=`[{"publishedon:>=":"[[!getDate? &offset=`-3 month`]]"}]`
]]

Только ресурсы с начала прошлого месяца:

[[!getResources?
    &parents=`[[*id]]`
    &tpl=`myRowTpl`
    &where=`[{"publishedon:>=":"[[!getDate? &offset=`first day of last month`]]"}]`
]]

За последнюю неделю и отредактированные сегодня:

[[!getResources?
    &parents=`[[*id]]`
    &tpl=`myRowTpl`
    &where=`[{"publishedon:>=":"[[!getDate? &offset=`-1 week`]]","editedon:>=":"[[!getDate? &offset=`today`]]"}]`
]]

Date Template Variable (TV)

Примеры с '&tvFilters' и Date TV.

Необработанные значения Date TV хранятся как 'YYYY-MM-DD HH:SS:MM', не timestamp. '&tvFilters' использует необработанные значения, поэтому форматируйте вывод getDate output filter.

Ресурсы с custom date моложе трёх месяцев:

[[!getResources?
    &parents=`[[*id]]`
    &tpl=`myRowTpl`
    &includeTVs=`1`
    &includeTVList=`myCustomDate`
    &tvFilters=`myCustomDate>=[[!getDate:date=`%Y-%m-%d`? &offset=`-3 month`]]`
]]

Ресурсы с custom date моложе начала прошлого месяца:

[[!getResources?
    &parents=`[[*id]]`
    &tpl=`myRowTpl`
    &includeTVs=`1`
    &includeTVList=`myCustomDate`
    &tvFilters=`myCustomDate>=[[!getDate:date=`%Y-%m-%d`? &offset=`first day of last month`]]`
]]

Ресурсы, где месяц custom date равен текущему:

[[!getResources?
    &parents=`[[*id]]`
    &tpl=`myRowTpl`
    &includeTVs=`1`
    &includeTVList=`myCustomDate`
    &tvFilters=`myCustomDate==[[!getDate:date=`%Y-%m-%`]]`
]]

Один custom date моложе прошлой недели и второй моложе полночи сегодня:

[[!getResources?
    &parents=`[[*id]]`
    &tpl=`myRowTpl`
    &includeTVs=`1`
    &includeTVList=`myCustomDate01,myCustomDate02`
    &tvFilters=`myCustomDate01>=[[getDate:date=`%Y-%m-%d`? &offset=`-1 week`]],myCustomDate02>=[[getDate:date=`%Y-%m-%d %T`? &offset=`today`]]`
]]

Примеры getResources выше без кэша для динамической фильтрации. И getResources, и getDate должны быть без кэша. Для кэширования оба вызова кэшируйте.

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • CrewMark
  • Fabian Christen
  • Sepia River Studios
  • Dannevang Digital
  • Alex
  • A. Moreno
  • Chris Fickling
  • Stéphane Jäggi
  • Murray Wood
  • Anton Tarasov
  • deJaya
  • JT Skaggs
  • Lefthandmedia
  • eydolan
  • Following Sea
  • Guido Gallenkamp
  • YJ
  • Raffy
  • Snow Creative
  • Nick Clark
  • Guest
  • Helen
  • krisznet
  • Yanni
  • Richard

Budget

$204 per month—let's make that $500!

Learn more