Неправильная дата в RSS

Ребята, 3й день бьюсь и не могу разобраться, почему у меня в rss дата стоит на всех новостях:
<pubDate>Thu, 01 Jan 1970 03:33:40 +0300</pubDate>
Создал сниппет:
<?php
setlocale(LC_ALL, 'en_US');
return strftime($options,$input);
В tpl прописал:
[[+publishedon:dateLocale=`%a, %d %b %Y %H:%M:%S %z`]]
Пробовал сниппет такой:
<?php
setlocale(LC_ALL, 'en_US.UTF-8');
if ( $val == '' ) $val=time();
if ($format == '' ) $format = "%a, %d %b %Y %H:%M:%S";
return strftime($format, $val);
Всё равно на всех новостях дата 1970 год. Подскажите, как исправить?
Aleksanders
11 февраля 2021, 15:53
modx.pro
540
0

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

Артур Шевченко
11 февраля 2021, 16:41
-1
Код вызова и полный код шаблона в студию. Можно ещё showLog приложить.
    Aleksanders
    11 февраля 2021, 18:37
    0
    Сниппет dateLocale:
    <?php
    setlocale(LC_ALL, 'en_US');
    return strftime($options,$input);
    Вызов:
    <?xml version="1.0" encoding="UTF-8"?>
    <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>[[*pagetitle]]</title>
        <link>[[~4? &scheme=`full`]]</link>
        <description></description>
        <ttl>120</ttl>
        <atom:link href="[[~[[*id]]? &scheme=`full`]]" rel="self" type="application/rss+xml" />
        [[!getResources?
          &tpl=`rssTpl`
          &parents=`4`
          &depth=`5`
          &limit=`20`
          &includeContent=`1`
          &includeTVs=`1`
          &showHidden=`1`
          &hideContainers=`1`
          &showLog=`1`
        ]]
    </channel>
    </rss>
    rssTpl:
    <item>
    <title>[[+pagetitle]]</title>
    <link>[[++site_url]][[~[[+id]]]]</link>
    <description>[[+description]]</description>
    <enclosure url="[[+tv.imageNews]]"></enclosure>
    <pubDate>[[+publishedon:dateLocale=`%a, %d %b %Y %H:%M:%S %z`]]</pubDate>
    </item>
    Alexey
    11 февраля 2021, 18:20
    0
    А так?

    [[!dateLocale? &val=`[[+publishedon]]`]]
      Aleksanders
      11 февраля 2021, 18:32
      0
      Вообще не отображается
        Alexey
        11 февраля 2021, 18:35
        0
        [[+publishedon]] — так что выводит?
          Aleksanders
          11 февраля 2021, 18:38
          0
          [[+publishedon]] выводит правильную дату
          <pubDate>2021-02-05 09:47:00</pubDate>
            Alexey
            11 февраля 2021, 19:47
            0
            Проверил на тестовом сайте

            [[!dateLocale? &val=`[[+publishedon]]`]]

            Всё корректно выводит. Нигде кириллица не затесалась часом?
              Aleksanders
              11 февраля 2021, 19:59
              0
              А как можно проверить, есть ли кириллица где-то?
              Вы копировали мой код или сами набирали?
              Проверил сервисом, кириллицы нету.
                Aleksanders
                11 февраля 2021, 20:24
                0
                Сделал на другом сайте и тоже самое 1970 год!
                  Alexey
                  11 февраля 2021, 20:26
                  0
                  Сам сниппет отдельно проверяли? Корректно выводит дату?

                  <?php
                  setlocale(LC_ALL, 'en_US.UTF-8');
                  if ( $val == '' ) $val=time();
                  if ($format == '' ) $format = "%a, %d %b %Y %H:%M:%S";
                  return strftime($format, $val);

                  Я про этот говорю. Первый — укороченный — не будет работать.
                    Aleksanders
                    11 февраля 2021, 20:38
                    0
                    Проблему решил. фуххх!
                    Сниппет стоит укороченный.
                    <?php
                    setlocale(LC_ALL, 'en_US');
                    return strftime($options,$input);
                    В rssTpl:
                    <pubDate>[[+publishedon:dateLocale=`%a, %d %b %Y %H:%M:%S %z`]]</pubDate>
                    Заменил [[!getResources? на [[!pdoPage и всё заработало.
                    Спасибо большое, что откликнулись!
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        11