@SELECT pagetitle, id FROM modx_site_content WHERE template = 10
[[getResources?
&parents=`-1`
&resources=`[[+tv.variants:replace=`||==,`]]`
&tpl=`customLinkTmpl`
]]

$c = $modx->newQuery('modResource');
$c->innerJoin('modTemplateVarResource','TemplateVarResources');
$c->innerJoin('modTemplateVar','TemplateVar','TemplateVar.id = TemplateVarResources.tmplvarid AND TemplateVar.name = `variants`');
$c->where(array(
'deleted' => false,
'hidemenu' => false,
'published' => true,
'TemplateVarResources.value:' => $modx->resource->get('id')
));
$c->sortby('TemplateVarResources.value','ASC');
$resources = $modx->getCollection('modResource',$c);
Get all resources which have a TV 'variants' and where the value of this TV consists the current resource id
$id = $modx->getOption('id',$scriptProperties,$modx->resource->get('id'));
$tv_id = $modx->getOption('tv_id',$scriptProperties);
$c = $modx->newQuery('modTemplateVarResource');
$c->where('tmplvarid'=>$tv_id));
$c->where("CONCAT('||',value,'||') LIKE '%||" . $id . "||%'", xPDOQuery::SQL_AND);
$ids = array();
if ($modx->getCollection('modTemplateVarResource',$c)){
foreach ($collection as $object){
$ids[]=$object->get('contentid');
}
}
return implode(',',$ids);
[[getRelatedIds? &tv_id=`yourTvId`]]
<?php
$id = $modx->getOption('id', $scriptProperties, $modx->resource->get('id'));
$tv_id = $modx->getOption('tv_id', $scriptProperties, 9);
$query = $modx->newQuery('modResource');
$query->innerJoin('modTemplateVarResource', 'TemplateVarResources');
$query->where(array(
array(
'TemplateVarResources.tmplvarid=' . $tv_id,
'CONCAT(\'||\', TemplateVarResources.value, \'||\') LIKE \'%||' . $id . '||%\''
)
));
$ids = array();
$collection = $modx->getCollection('modResource', $query);
foreach ($collection as $object) {
$ids[] = $object->get('id');
}
return implode(',', $ids);
(ERROR @ /myproject/index.php) Instantiated a derived class modTemplateVarResource that is not a subclass of the requested class modResource

if ($modx->getCollection('modResource',$c))
if ($modx->getCollection('modTemplateVarResource',$c))
Unknown column 'modTemplateVarResource.CONCAT('||', value, '||')' in 'where clause'
<?php
$id = $modx->getOption('id', $scriptProperties, $modx->resource->get('id'));
$tpl = $modx->getOption('tpl', $scriptProperties);
$tv_id = $modx->getOption('tv_id', $scriptProperties, 9);
$query = $modx->newQuery('modResource');
$query->innerJoin('modTemplateVarResource', 'TemplateVarResources');
$query->where(array(
array(
'TemplateVarResources.tmplvarid=' . $tv_id,
'CONCAT(\'||\', TemplateVarResources.value, \'||\') LIKE \'%||' . $id . '||%\''
)
));
$ids = array();
$collection = $modx->getCollection('modResource', $query);
$output = '';
foreach ($collection as $object) {
$resId = $object->get('id');
$ids[] = $resId;
if (!empty($tpl)) {
$output .= $modx->getChunk($tpl, array(
'id' => $resId,
'menutitle' => $object->get('menutitle'),
'pagetitle' => $object->get('pagetitle')
));
}
}
if (empty($tpl)) {
return implode(',', $ids);
} else {
return $output;
}
<li><a href="[[~[[+id]]]]">[[+menutitle:isempty=`[[+pagetitle]]`]]</a></li>
<ul> [[getRelatedProducts? &id=`[[+id]]` &tpl=`linkedResources`]] </ul>