pdoResources не выводит tv и дату

[[pdoResources?
                        &depth=`3`
                        &hideContainers=`1`
                        &showHidden=`1`
                        &limit=`0`
                        &tpl=`newsBlockTpl`
                        &includeContent=`1`
                        &tvPrefix=``
                        &includeContent=`1`
                        &includeTVs=`1`
                        &processTVs=`1`
                        ]]
<div class="col">
  <div class="news-item">
    <div class="news-item__photo"><a href='[[~[[+id]]]]' title='[[+pagetitle]]'>[[+newsImage]]</a></div>
    <div class="news-item__title">[[+pagetitle]]</div>
    <div class="news-item__data">[[+publishedon:strtotime:date=`%d.%m.%yг.`]]</div>
    <div class="news-item__text">[[+content:ellipsis=`350`]]</div>
    <div class="news-item__link"><a href="[[~[[+id]]]]">Подробней</a></div>
  </div>
</div>
При таких значения pdo ни выводит +newImage, ни +publishedon, но если заменить pdoResources на !getResources, то все нормально работает. Что я делаю не так?
DimenSi
13 марта 2016, 14:18
modx.pro
3 946
-1

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

Евгений
13 марта 2016, 21:33
0
И не выведет, потому как в условии нет вызова TV, а вместо этого 2 раза вызывается includeContent=`1`.
&includeTVs=`1` не равняется вызову нужных ТВишек. Должно быть &includeTVs=`newImage, и тд`.
И надеюсь все это не в одном ресурсе/чанке? Ибо &tpl=`newsBlockTpl` говорит pdoResources отправить все именно в этот шаблон, а не в текущий ресурс/чанк.

Что-то сумбурно написал, простите я из гостей вернулся :)
PS: И вообще, читайте доки

Всех с широкой масленницей :)
    DimenSi
    13 марта 2016, 21:45
    0
    В доках вообще мало чего написано, доки getResource и то содержательней будут.
    Я не знаю, что поменялось, но неожиданно все начало само по себе работать.
    [[!pdoPage?
                            &elementClass=`modSnippet`
                            &element=`pdoResources`
                            &depth=`3`
                            &hideContainers=`1`
                            &showHidden=`1`
                            &limit=`[[*newsLimit]]`
                            &tpl=`newsBlockTpl`
                            &includeContent=`1`
                            &tvPrefix=``
                            &includeTVs=`newsImage`
                            &processTVs=`1`
                            &pageLimit=`5`
                            &pageNavVar=`page.nav`
                            &tplPagePrev=`@INLINE <li class="control"><a href="[[+href]]"><i class="fa fa-arrow-left"></i></a></li>`
                            &tplPageNext=`@INLINE <li class="control"><a href="[[+href]]"><i class="fa fa-arrow-right"></i></a></li>`
                            &tplPagePrevEmpty=`@INLINE <li class="disabled"><span><i class="fa fa-arrow-left"></i></span></li>`
                            &tplPageNextEmpty=`@INLINE <li class="disabled"><span><i class="fa fa-arrow-right"></i></span></li>`
                            ]]
                        [[+page.nav]]
    И нет, это не в чанке вызов, а в шаблоне.
      Василий Наумкин
      14 марта 2016, 08:48
      +1
      Да в доках вообще ничего не написано, особенно, если их не читать.

      Открываем ссылку, смотрим описание &includeTVs:
      Список ТВ параметров для выборки, через запятую. Например: «action,time» дадут плейсхолдеры [[+tv.action]] и [[+tv.time]].
      Список ТВ, а не цифра 1.

      Я не знаю, что поменялось, но неожиданно все начало само по себе работать.
      Конечно, заменил &includeTVs=`1` на &includeTVs=`newsImage` и всё начало само по себе работать. Мистика!

      Тоже самое и с вот этим
      [[+publishedon:strtotime:date=`%d.%m.%yг.`]]
      Сможешь ответить на вопрос, зачем здесь strtotime? Уверен, не сможешь, потому что так просто принято в getResources.

      Фокус в том, что даты ресурсов в MODX и так хранятся в виде timestamp, и дополнительно преобразовывать их не нужно.
      При работе через getResources этот timestamp сначала переводится в дату, потому что так задано в объекте modResource, а потом через фильтр в чанке обратно в timestamp. То есть, двойная бесполезная работа, которую pdoResources не делает.

      А вот теперь самое интересное — наша документация открыта для редактирования, ты можешь всю эту информацию оформить как тебе удобно и добавить.
      Только мало кто что-то добавляет, все только ноют, что «в доках вообще мало чего написано».

      Извините, однотипные вопросы и нытьё надоело.
        DimenSi
        14 марта 2016, 09:15
        -2
        Проблема в том, что я сначала &includeTVs=`newsImage`так и писал, потом поменял на 1 для getResourse, а потом я уже выложил вопрос с таким уже кодом для вопроса, но заменил слово getResourse на pdoResourse. За дату я уже нагуглил.
        Спасибо за ответы. Но все же в документации не сказано, что strtotime не нужен.
          Василий Наумкин
          14 марта 2016, 09:27
          +1
          Но все же в документации не сказано, что strtotime не нужен.
          Да, наверное, нужно прям так и написать — «Следующие модификаторы здесь не нужны: strtotime, cat, lowercase, strip, replace, и т.д.»

          Ссылку на GitHub я уже дал, отправляй Pull-Request с изменениями, как будет готов.
            Василий Наумкин
            14 марта 2016, 09:46
            +1
            Прошу прощения, видимо мой сарказм непонятен.

            Вот серьёзный ответ:
            Какой смысл указывать то, что не нужно? Если в getResources этот модификатор нужен — пусть там и указывают.

            А сначала, не задумываясь, тащить в чанки pdoResources то, что указывается в getResources, а потом добавлять в документацию примечание «это не нужно» — ну бред какой-то.

            Давайте просто включать голову при использовании модификаторов, и проверять, к каким значениям они применяются.
            Думаю, на этом вопрос можно закрыть.
              DimenSi
              14 марта 2016, 09:51
              0
              Но информацию о strtotime все же можно добавить.
Игорь Терентьев
14 марта 2016, 07:32
0
Дату вот так нужно выводить: [[+publishedon:date=`%d.%m.%Y`]] без strtotime
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    10