Quote from: rellocat at Jul 14, 2007, 08:24 AM
Судя по вашей реплике, я поняла, что это возможно с помощью Ditto — расскажите, пожалуйста, как именно.
rellocat, скорее всего, Дитто для того, что тебе требуется, -- это перебор!
Ммм, на своём примере могу пояснить...
http://s-g-k.ru/fujikura.html
на странице воткнут сниппет [!Catalog?&pid=1&chunk=`catalog`!]
pid=1 -- это id’шник каталога.
Вот сам сниппет:
$children = $modx->getActiveChildren($pid, 'menuindex', 'ASC', 'id, pagetitle, description, alias, longtitle, menutitle, introtext');
$c = count($children);
foreach ($children as $ch) {
$id = $ch['id'];
$pagetitle = $ch['pagetitle'];
$longtitle = $ch['longtitle'];
$introtext = $ch['introtext'];
$description = $ch['description'];
$alias = $ch['alias'];
$a = $modx->getChunk($chunk);
$modx->setPlaceholder('id', $id);
$modx->setPlaceholder('title', $pagetitle);
$modx->setPlaceholder('longtitle', $longtitle);
$modx->setPlaceholder('description', $description);
$modx->setPlaceholder('introtext', $introtext);
$modx->setPlaceholder('alias', $alias);
$fields = array ('[+id+]', '[+alias+]', '[+title+]', '[+longtitle+]', '[+introtext+]', '[+description+]');
$values = array ($id, $alias, $pagetitle, $longtitle, $introtext, $description);
$output .= str_replace ($fields, $values, $a);
}
return $output;
А вот и чанк:
<dl class=cat>
<dd><h2><a href="[~[+id+]~]" title="[+description+]">[+longtitle+]</a></h2>
<dt>
<a href="[~[+id+]~]" title="[+title+]"><img src="/fujikura_pic/[+alias+]_i.gif" alt="[+longtitle+]" border=0 align=left></a>
<div class=cat_desc>
[+introtext+]
</div>
</dt>
<strong class=more><a href="[~[+id+]~]" title="[+title+]">[+title+]</a> →</strong>
</dl><br clear=all>
Понятно, что сниппет надо обозвать Catalog, а чанк -- catalog.
Оформление надо выносить в чанк, чтобы не ковырять каждый раз сниппет ради того, чтобы скорректировать оформление.
В спешке, но надеюсь, что хоть чем -то помог...
Сообшники, что php курят, поправляйте, если у меня в сниппете ошибка.
Да, для аннотаций надо использовать соответствующие поля в админке: introtext и description... не знаю, как по-русски, у меня не русифицировано.
UPD, сниппет подправил, там был косяк