Список статей MODX хотя бы с одним общим тегом
Можно ли использовать фрагмент getResources для поиска связанных статей, имеющих хотя бы один общий тег с активным ресурсом?
[[getResources?
&parents=`xxx, xxx`
&showHidden=`1`
&limit=`10`
&tpl=`relatedArticle-tpl`
&depth=`1`
&includeContent=`1`
&includeTVs=`1`
&processTVs=`1`
&sortby=`publishedon`
&tvFilters=`something here`
]]
TV [[*articletags]] активного ресурса должен содержать хотя бы один общий тег с совпадающим ресурсом.
1 ответ
Вот как я реализовал вопрос:
[[getResources?
&parents=`x,x`
&showHidden=`1`
&limit=`10`
&tpl=`latestArticle`
&depth=`1`
&includeContent=`1`
&includeTVs=`1`
&resources=`-[[*id]]`
&processTVs=`0`
&sortby=`publishedon`
&tvFilters=`[[tvFilterForRelatedArticles]]`
]]
И фрагмент для создания ТВ-фильтра:
$tags = $modx->resource->getTVValue('articlestags');
$categories = $modx->resource->getTVValue('category');
$tagsArray = explode(",", $tags);
$categoriesArray = explode(",", $categories);
$result = "";
foreach ($tagsArray as $tag)
$result .= "articlestags==%".$tag."%||";
foreach ($categoriesArray as $category)
$result .= "category==%".$category."%||";
return substr($result, 0, -1);
Не уверен, что это самый простой способ достичь моей цели. Не стесняйтесь комментировать, если есть лучшее решение.