We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 25441
    • 60 Posts
    Здравствуйте,

    настроил вывод новостей в виде ленты, на примере (_ttp://habrahabr.ru/blogs/modx/37566/)...
    Проблема в том, что в TV поле date, ввожу дату, а она видимо не обрабатывается... Выводится 1 января 1970 года.

    Подскажите, м.б. у кого-нибудь была подобная проблема.
      • 16278
      • 928 Posts
      А в настройке TV включен уиджет Unixtime?
      Представьте пож. вызов Ditto и шаблон вывода.
      smiley KP
        • 25441
        • 60 Posts
        Quote from: kp52 at Jun 30, 2009, 08:26 AM

        А в настройке TV включен уиджет Unixtime?
        Представьте пож. вызов Ditto и шаблон вывода.
        smiley KP

        В шаблон включен TV - date; date имеет тип unixtime.

        Если выводить [+date+] - выводится нормальное unixtime - проверял, совпадает с выбранной датой.
        Если выводить [[convertDate? MyDate=`[+date+]`]] - выводит 1 января 1970.

        Сниппет convertDate
        <?php
        $monthes = array('','января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
        $day = date("d",$MyDate);
        $month = $monthes[date("n",$MyDate)];
        $year = date("Y",$MyDate);
        $output = $day.' '.$month.' '.$year.' года';
        return $output;
        ?>
        


        Вызов Ditto:
        [[Ditto? &startID=`18` &tpl=`news_list` &sortDir=`DESC` &summarize=`20` &sortBy=`date` ]]

          • 16278
          • 928 Posts
          Наверно лучше не использовать ’date’ в качестве имя TV. Попробуйте какое-нибудь имя, которое не будет путаться с пдейсхольдерами, функциями и.т.п.

          Что касается сниппета, лучше вернуть текст через return, а не echo. Сниппет -- это PHP функция:
          $output = $day.' '.$month.' '.$year.' года';
          return $output;
          вместо
          echo $day.' '.$month.' '.$year.' года';
          

          Не стану зоворить о параметрах Ditto, по все-же стоит посмотреть сюда пля информацию о них:
          http://ditto.modxcms.com/files/snippet-ditto-php.html (Может быть, где-то есть и русскоязычный вариант)
          http://www.pogwatch.com/ditto/ditto-parameters.html
          smiley KP
            • 25441
            • 60 Posts
            Quote from: kp52 at Jun 30, 2009, 10:00 AM

            Наверно лучше не использовать ’date’ в качестве имя TV. Попробуйте какое-нибудь имя, которое не будет путаться с пдейсхольдерами, функциями и.т.п.

            Что касается сниппета, лучше вернуть текст через return, а не echo. Сниппет -- это PHP функция:
            $output = $day.' '.$month.' '.$year.' года';
            return $output;
            вместо
            echo $day.' '.$month.' '.$year.' года';
            

            Не стану зоворить о параметрах Ditto, по все-же стоит посмотреть сюда пля информацию о них:
            http://ditto.modxcms.com/files/snippet-ditto-php.html (Может быть, где-то есть и русскоязычный вариант)
            http://www.pogwatch.com/ditto/ditto-parameters.html
            smiley KP


            Поменял TV на publ_date... и вставил предложенный вами вариант... Всё также...

            У меня есть подозрение, что в сниппет это дело вообще не передается...
              • 16278
              • 928 Posts
              Только-что заметил в начале сниппета "<? php". Есть-ли пробел после воп. знака в самом сниппете? Тогда он никак не сработает.
              huh KP
                • 25441
                • 60 Posts
                Quote from: kp52 at Jun 30, 2009, 01:37 PM

                Только-что заметил в начале сниппета "<? php". Есть-ли пробел после воп. знака в самом сниппете? Тогда он никак не сработает.
                huh KP
                Это ошибка постинга, поправил... в коде у меня без пробела