Ошибка в логах при выводе tagger через pdoPage
Проблема в том что ругается на TV, я уже не знаю как их правильно подключить к этой конструкции, но при таком способе TV значения выводятся.
Подскажите как перестроить конструкцию что бы избавиться от ошибке в логах.
Tagger не дает покоя уже неделю :C
Код под катом...
Конструкция вывода
Подскажите как перестроить конструкцию что бы избавиться от ошибке в логах.
Tagger не дает покоя уже неделю :C
Код под катом...
Конструкция вывода
[[!pdoPage?
&element=`pdoResources`
&includeTVs=`img_min_post,img_alt`
&processTVs=`1`
&tvPrefix=``
&limit=`10`
&loadModels=`tagger`
&class=`TaggerTagResource`
&leftJoin=`{
"NameTag": {
"class": "TaggerTag",
"on": "TaggerTagResource.tag = NameTag.id"
},
"Posts": {
"class": "modResource",
"on": "TaggerTagResource.resource = Posts.id"
}
}`
&select=`{
"TaggerTagResource": "*",
"NameTag": "NameTag.tag, NameTag.alias",
"Posts": "Posts.id, Posts.pagetitle, Posts.description, Posts.introtext"
}`
&where=`{
"NameTag.alias": "[[!#GET.tag]]"
}`
&sortby=`TaggerTagResource.resource`
&sortdir=`ASC`
&tplWrapper =`@INLINE <h2 class="h3">Всего результатов: [[+page.total]]</h2><hr>[[+output]]`
&tpl= `tplpost`
&showLog=`1`
]]
[[!+page.nav]]
ShowLog0.0000160: Loaded model "tagger" from "/core/components/tagger/model/"
0.0003202: pdoTools loaded
0.0000222: xPDO query object created
0.0004768: leftJoined TaggerTag as NameTag
0.0000811: leftJoined modResource as Posts
0.0000529: Added selection of TaggerTagResource: SQL_CALC_FOUND_ROWS `tag`, `resource`
0.0000119: Added selection of TaggerTag: NameTag.tag, NameTag.alias
0.0000091: Added selection of modResource: Posts.id, Posts.pagetitle, Posts.description, Posts.introtext
0.0000911: Added where condition: NameTag.alias=test-tag1
0.0000370: Sorted by TaggerTagResource.resource, ASC
0.0000041: Limited to 10, offset 0
0.0001950: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `TaggerTagResource`.`tag`, `TaggerTagResource`.`resource`, NameTag.tag, NameTag.alias, Posts.id, Posts.pagetitle, Posts.description, Posts.introtext FROM `ateh_tagger_tag_resources` AS `TaggerTagResource` LEFT JOIN `ateh_tagger_tags` `NameTag` ON TaggerTagResource.tag = NameTag.id LEFT JOIN `ateh_site_content` `Posts` ON TaggerTagResource.resource = Posts.id WHERE `NameTag`.`alias` = 'test-tag1' ORDER BY TaggerTagResource.resource ASC LIMIT 10 "
0.0000601: SQL executed
0.0001049: Total rows: 1
0.0000122: Rows fetched
0.0169530: Prepared and processed TVs
0.0006590: Loaded chunk "tplpost"
0.0058429: Returning processed chunks
0.0245512: Total time
4 194 304: Memory usage
Журнал ошибок(ERROR @ /index.php) [pdoTools] Instantiated a derived class "TaggerTagResource" that is not a subclass of the "modResource", so tvs not joining.
Комментарии: 5
Попробуй перевести текст ошибки, вдруг что прояснится?
Переводил и всё равно мне сложно всё это понять, то что в классе указан TaggerTagResource а не modResource. И я не знаю как по другому эту всю конструкцию переделать так что бы TV выводились без конфликтов. Я совсем не программист и мой опыт использования modx revo. не превышает месяца. :C
Там написано, что TaggerTagResource не является дочерним классом modResource, поэтому опция includeTVs работать не будет.
pdoTools умеет присоединять ТВ только к ресурсам, а ты выбираешь другой класс, так что присоединять к нему ТВ нужно самостоятельно.
Убирай includeTVs и ошибка пропадёт.
pdoTools умеет присоединять ТВ только к ресурсам, а ты выбираешь другой класс, так что присоединять к нему ТВ нужно самостоятельно.
Убирай includeTVs и ошибка пропадёт.
Я сделяль :D
&leftJoin=`{
"NameTag": {
"class": "TaggerTag",
"on": "TaggerTagResource.tag = NameTag.id"
},
"Posts": {
"class": "modResource",
"on": "TaggerTagResource.resource = Posts.id"
},
"Tv": {
"class": "modTemplateVarResource",
"on": "TaggerTagResource.resource = Tv.contentid AND Tv.tmplvarid = 28"
}
}`
&select=`{
"TaggerTagResource": "*",
"NameTag": "NameTag.tag, NameTag.alias",
"Posts": "Posts.id, Posts.pagetitle, Posts.description, Posts.introtext",
"Tv": "Tv.value as img_min_post"
}`
Ошибок негде нету, картинка выводится :) Правильная ли конструкция с точки зрения рациональности?
А не знаете случайно как такую же проблему решить если несколько TV нужно подключить?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.