Sympas le debug, par contre je vois toujours pas le soucis ! D'ailleur j'ai vraiment du mal à lire cette requête SQL...
SELECT `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`.`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`,
CAST(IFNULL(tvSort.value, tvDefault.default_text) AS SIGNED INTEGER) AS sortTV FROM `modx_site_content` AS `modResource`
LEFT JOIN `modx_site_tmplvars` `tvDefault` ON `tvDefault`.`name` = 'Price' LEFT JOIN `modx_site_tmplvar_contentvalues` `tvSort`
ON ( tvSort.contentid = modResource.id AND tvSort.tmplvarid = tvDefault.id )
WHERE ( ( modResource.parent IN (33,109,113,151,139,140,152,141,142,143,148,144,145,146,147,149,153,154,155,156,157,158,159,165,111,112)
AND (modResource.context_key IN ('web')
OR EXISTS(SELECT 1 FROM `modx_context_resource` ctx WHERE ctx.resource = modResource.id
AND ctx.context_key IN ('web'))) )
AND `modResource`.`deleted` = 0
AND `modResource`.`published` = 1
AND `modResource`.`hidemenu` = 0
AND `modResource`.`template` = 3 )
ORDER BY sortTV ASC, publishedon DESC LIMIT 20, 5