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, то все нормально работает. Что я делаю не так? Комментарии: 10
И не выведет, потому как в условии нет вызова TV, а вместо этого 2 раза вызывается includeContent=`1`.
&includeTVs=`1` не равняется вызову нужных ТВишек. Должно быть &includeTVs=`newImage, и тд`.
И надеюсь все это не в одном ресурсе/чанке? Ибо &tpl=`newsBlockTpl` говорит pdoResources отправить все именно в этот шаблон, а не в текущий ресурс/чанк.
Что-то сумбурно написал, простите я из гостей вернулся :)
PS: И вообще, читайте доки
Всех с широкой масленницей :)
&includeTVs=`1` не равняется вызову нужных ТВишек. Должно быть &includeTVs=`newImage, и тд`.
И надеюсь все это не в одном ресурсе/чанке? Ибо &tpl=`newsBlockTpl` говорит pdoResources отправить все именно в этот шаблон, а не в текущий ресурс/чанк.
Что-то сумбурно написал, простите я из гостей вернулся :)
PS: И вообще, читайте доки
Всех с широкой масленницей :)
В доках вообще мало чего написано, доки 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]]
И нет, это не в чанке вызов, а в шаблоне.
Да в доках вообще ничего не написано, особенно, если их не читать.
Открываем ссылку, смотрим описание &includeTVs:
Тоже самое и с вот этим
Фокус в том, что даты ресурсов в MODX и так хранятся в виде timestamp, и дополнительно преобразовывать их не нужно.
При работе через getResources этот timestamp сначала переводится в дату, потому что так задано в объекте modResource, а потом через фильтр в чанке обратно в timestamp. То есть, двойная бесполезная работа, которую pdoResources не делает.
А вот теперь самое интересное — наша документация открыта для редактирования, ты можешь всю эту информацию оформить как тебе удобно и добавить.
Только мало кто что-то добавляет, все только ноют, что «в доках вообще мало чего написано».
Извините, однотипные вопросы и нытьё надоело.
Открываем ссылку, смотрим описание &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 не делает.
А вот теперь самое интересное — наша документация открыта для редактирования, ты можешь всю эту информацию оформить как тебе удобно и добавить.
Только мало кто что-то добавляет, все только ноют, что «в доках вообще мало чего написано».
Извините, однотипные вопросы и нытьё надоело.
Проблема в том, что я сначала &includeTVs=`newsImage`так и писал, потом поменял на 1 для getResourse, а потом я уже выложил вопрос с таким уже кодом для вопроса, но заменил слово getResourse на pdoResourse. За дату я уже нагуглил.
Спасибо за ответы. Но все же в документации не сказано, что strtotime не нужен.
Спасибо за ответы. Но все же в документации не сказано, что strtotime не нужен.
Но все же в документации не сказано, что strtotime не нужен.Да, наверное, нужно прям так и написать — «Следующие модификаторы здесь не нужны: strtotime, cat, lowercase, strip, replace, и т.д.»
Ссылку на GitHub я уже дал, отправляй Pull-Request с изменениями, как будет готов.
Прошу прощения, видимо мой сарказм непонятен.
Вот серьёзный ответ:
Вот серьёзный ответ:
Какой смысл указывать то, что не нужно? Если в getResources этот модификатор нужен — пусть там и указывают.Думаю, на этом вопрос можно закрыть.
А сначала, не задумываясь, тащить в чанки pdoResources то, что указывается в getResources, а потом добавлять в документацию примечание «это не нужно» — ну бред какой-то.
Давайте просто включать голову при использовании модификаторов, и проверять, к каким значениям они применяются.
Но информацию о strtotime все же можно добавить.
Ну и отлично, спасибо за ответы.
Дату вот так нужно выводить: [[+publishedon:date=`%d.%m.%Y`]] без strtotime
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.