Для начала, с днем рождения! Всего наилучшего! По

Для начала, с днем рождения! Всего наилучшего! По сабжу: все это клево, но не оптимально.

  1. На все это давно уже есть getdata-процессор.
  2. Раз уж вы в рамках xPDO работаете, то и стройте запросы на нем.

Во-первых, запрос

SELECT * FROM `modx_site_content` 
	LEFT JOIN `modx_site_tmplvar_contentvalues` 
		ON `modx_site_tmplvar_contentvalues`.`contentid` = `modx_site_content`.`id`
WHERE (
		`modx_site_tmplvar_contentvalues`.`tmplvarid` = (
			SELECT `modx_site_tmplvars`.`id` FROM `modx_site_tmplvars`
			WHERE `modx_site_tmplvars`.`name`='icon'
		) AND
			`modx_site_tmplvar_contentvalues`.`value` = 'example-icon'
	)
	OR (
		`modx_site_tmplvar_contentvalues`.`tmplvarid` = (
			SELECT `modx_site_tmplvars`.`id` FROM `modx_site_tmplvars`
			WHERE `modx_site_tmplvars`.`name`='isCosmos'
		) AND
		`modx_site_tmplvar_contentvalues`.`value` = 'IS'
	)

Переделаем на

SELECT * FROM `modx_site_content` c
	INNER JOIN `modx_site_tmplvar_contentvalues` tvv
            ON `tvv`.`contentid` = `c`.`id`
        INNER JOIN `modx_site_tmplvars` tv
            ON tvv.tmplvarid = tv.id
WHERE (
		tv.`name`='icon' 
                AND
		    `tvv`.`value` = 'example-icon'
	)
	OR (
                tv.`name`='isCosmos' 
                AND
		    `tvv`.`value` = 'IS' 
	)

Здесь нет смысла использовать LEFT JOIN, ибо по условию вы все равно требуете значения, а значит отсутствующие записи не пройдут. Но если хотите универсальности в плане того, что будут запросы без дополнительных условий и чтобы в выборку попадали документы, для которых нет ни одной ТВшки, то да, нужно LEFT JOIN использовать.

Во-вторых, переделаем это на xPDO:

$c = $modx->newQuery('modResource');
$c->leftJoin('modTemplateVarResource', 'TemplateVarResources');
$c->leftJoin('modTemplateVar', 'tv', "tv.id=TemplateVarResources.tmplvarid");

$c->where(array(
    array(
        "tv.name"   => 'icon',
        "TemplateVarResources.value"    => "example-icon",
    ),
    array(
        "OR:tv.name:="   => 'isCosmos',
        "TemplateVarResources.value"    => "IS",
    ),
));