"autotag");
$output = "";
$id = $modx->getOption('id', $scriptProperties, $modx->resource->id);
$q = $modx->newQuery('modTemplateVarResource');
$q->select('DISTINCT(`modTemplateVarResource`.`value`)');
$q->innerJoin('modTemplateVar', 'tv', "tv.id = modTemplateVarResource.tmplvarid");
$q->innerJoin('modResource', 'res', 'res.id=modTemplateVarResource.contentid');
$q->where(array(
'tv.name' => $tvname,
'res.context_key' => $modx->resource->context_key,
'res.id' => $id
)
);
if($q->prepare() && $q->stmt->execute()) {
while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
$result[] = $row['value'];
}
}
if($result) {
$result = implode($result, ',');
$result = array_unique(explode(',', $result));
foreach($result as $value) {
$output .= $modx->getChunk($tpl, array('value' => $value));
}
}
return $output;
Вывоз сниппета:
[[tagsCloud?
&id=`[[*id]]`
&tvname=`tags`
&tpl=`tagsTpl`
]]
tagsTpl:
<input type="checkbox" name="tags" value="[[+value]]"/> [[+value]]
#вывод_тв_поля #авто_метка
Че делает?
в самом низу сообщения посмотри на теги)
Все равно не понимаю что он делает и как работает
те ты хочешь сказать, что для того чтобы вывести теги у 1 ресурса нужно писать сниппет?
вывод значений тв поля "Авто-метка"
Че за поле такое?
и да и нет) ну вот смотри, понадобилось сделать вывод ТВ поля "Авто-метка" (массив данных) где каждая метка должна быть инпутом...
И что на феноме это нельзя сделать?
можно конечно, но если не использовать феном, моё решение подходит, новичкам точно
тока если без фенома... конечно гемора больше. )))) хотя и в этом случае можно код упростить. просто в сниппет передать строку тега и там сделать все без лишних запросов.
Обсуждают сегодня