Как правильно фильтровать по TV?
Всем привет, подскажите как правильно в фильтровать по TV параметрам? мне нужно в зависимости от id пользователя показывать/скрывать контент. Вывожу контент при помощи getresources:
Заранее спасибо
[[!getResources?
&showHidden=`1`
&tpl=`order`
&limit=`10`
&includeContent=`1`
&includeTVs=`1`
&resources=`6,7,8,9`
&debug=`1`
&tvPrefix=``
&tvFilters=`{"tv.user_id":[[!+modx.user.id]]}`
&processTVs=`1`]]
возможно данную задачу лучше решать при помощи pdoResources? но и с этим сниппетом че то не выходит. Подскажите в чем проблема? То ли в синтаксе то ли в логике Заранее спасибо
Комментарии: 4
В tvFilters, в отличии от where пишется не JSON, а специальная строка — смотри документацию.
В pdoResources можно так:
Ну и управлять доступом пользователей к страницам нужно бы через права доступа, а не ТВ параметры.
В pdoResources можно так:
[[!pdoResources?
&showHidden=`1`
&tpl=`order`
&includeContent=`1`
&includeTVs=`user_id`
&resources=`6,7,8,9`
&showLog=`1`
&tvPrefix=``
&where=`{"user_id":[[!+modx.user.id]]}`
&processTVs=`1`
]]
Ну и управлять доступом пользователей к страницам нужно бы через права доступа, а не ТВ параметры.
что касается pdoResources получил вот что
0.0002031: pdoTools loaded
0.0000529: xPDO query object created
0.0006790: Included list of tvs: user_id
0.0004389: leftJoined modTemplateVarResource as TVuser_id
0.0006521: Added selection of modResource: SQL_CALC_FOUND_ROWS `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `content`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`
0.0000181: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `user_id`
0.0000470: Replaced TV conditions
0.0007989: Processed additional conditions
0.0013630: Added where condition: `TVuser_id`.`value`=1, modResource.id:IN(6,7,8,9), modResource.parent:IN(2,4,5,6,7,8,9), modResource.published=1, modResource.deleted=0
0.0000379: Replaced TV conditions
0.0001740: Sorted by modResource.publishedon, DESC
0.0000050: Limited to 10, offset 0
0.0003519: SQL prepared «SELECT SQL_CALC_FOUND_ROWS `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`, `modResource`.`description`, `modResource`.`alias`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, `modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`content`, `modResource`.`richtext`, `modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, `modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, `modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, `modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, `modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, `modResource`.`hide_children_in_tree`, `modResource`.`show_in_tree`, `modResource`.`properties`, IFNULL(`TVuser_id`.`value`, '') AS `user_id` FROM `modx_site_content` AS `modResource` LEFT JOIN `modx_site_tmplvar_contentvalues` `TVuser_id` ON `TVuser_id`.`contentid` = `modResource`.`id` AND `TVuser_id`.`tmplvarid` = 14 WHERE ( `TVuser_id`.`value` = '1' AND `modResource`.`id` IN (6,7,8,9) AND `modResource`.`parent` IN (2,4,5,6,7,8,9) AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 ) ORDER BY modResource.publishedon DESC LIMIT 10 „
0.0000951: SQL executed
0.0001540: Total rows: 0
0.0000131: Rows fetched
0.0000210: Prepared and processed TVs
0.0000012: Returning processed chunks
0.0044611: Total time
17 301 504: Memory usage
0.0002031: pdoTools loaded
0.0000529: xPDO query object created
0.0006790: Included list of tvs: user_id
0.0004389: leftJoined modTemplateVarResource as TVuser_id
0.0006521: Added selection of modResource: SQL_CALC_FOUND_ROWS `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `content`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`
0.0000181: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `user_id`
0.0000470: Replaced TV conditions
0.0007989: Processed additional conditions
0.0013630: Added where condition: `TVuser_id`.`value`=1, modResource.id:IN(6,7,8,9), modResource.parent:IN(2,4,5,6,7,8,9), modResource.published=1, modResource.deleted=0
0.0000379: Replaced TV conditions
0.0001740: Sorted by modResource.publishedon, DESC
0.0000050: Limited to 10, offset 0
0.0003519: SQL prepared «SELECT SQL_CALC_FOUND_ROWS `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`, `modResource`.`description`, `modResource`.`alias`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, `modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`content`, `modResource`.`richtext`, `modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, `modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, `modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, `modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, `modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, `modResource`.`hide_children_in_tree`, `modResource`.`show_in_tree`, `modResource`.`properties`, IFNULL(`TVuser_id`.`value`, '') AS `user_id` FROM `modx_site_content` AS `modResource` LEFT JOIN `modx_site_tmplvar_contentvalues` `TVuser_id` ON `TVuser_id`.`contentid` = `modResource`.`id` AND `TVuser_id`.`tmplvarid` = 14 WHERE ( `TVuser_id`.`value` = '1' AND `modResource`.`id` IN (6,7,8,9) AND `modResource`.`parent` IN (2,4,5,6,7,8,9) AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 ) ORDER BY modResource.publishedon DESC LIMIT 10 „
0.0000951: SQL executed
0.0001540: Total rows: 0
0.0000131: Rows fetched
0.0000210: Prepared and processed TVs
0.0000012: Returning processed chunks
0.0044611: Total time
17 301 504: Memory usage
я извиняюсь если туплю, но ничего не выходит(
Все, спасибо! разобрался! я ресурсы не опубликовал...))
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.