Как правильно фильтровать по 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? но и с этим сниппетом че то не выходит. Подскажите в чем проблема? То ли в синтаксе то ли в логике

Заранее спасибо
Павел Григорьев
06 мая 2014, 10:19
modx.pro
1 089
0

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

Василий Наумкин
06 мая 2014, 14:33
+1
В tvFilters, в отличии от where пишется не JSON, а специальная строка — смотри документацию.

В 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`
]]

Ну и управлять доступом пользователей к страницам нужно бы через права доступа, а не ТВ параметры.
    Павел Григорьев
    06 мая 2014, 14:41
    0
    что касается 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
      Павел Григорьев
      06 мая 2014, 14:43
      0
      я извиняюсь если туплю, но ничего не выходит(
        Павел Григорьев
        06 мая 2014, 15:20
        +1
        Все, спасибо! разобрался! я ресурсы не опубликовал...))
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          4