Сперва опишу суть проблемы.
Почти в каждом моём сайте бывает так, что надо, скажем, к новостям добавлять комментарии, к анонсам - картинки из TV, к товарам - дополнительные чанки и т.д.
Скажу сразу, что шаблоны плодить я не люблю. Если все реально сделать одним шаблоном, а отличается он только контент-зоной, то так я и делаю. Извращаюсь при это по разному: делаю радио-TV, скажем, с названием "Является ли эта страница новостью/товаром/галлерей?" - если "да", то вывожу чанк с доп. инфой, использую phx и т.д.
Надоело, только что сваял плагинчик, который в зависимости от ID родительской директории, при сохранении добаляет необходимые куски. Может кому пригодится.
$key_parent = '5'; // ID директории, для документов которой нужен дополнительный кусов верстки/кода/сниппетов
$gallery = '{{ваш_чанк}}'; //имя чанка, который будет вставляться в контент-зону док-та, если он пренаждежит указанному паренту
$e = &$modx->Event;
if ($e->name == 'OnDocFormSave') {
$parid = $modx->getParent($e->params['id'],1);
if ($parid['id'] == $key_parent) {
if (!strstr($_POST['ta'],$gallery)) {
$new_content = $_POST['ta'].$gallery;
} else {
$new_content = $_POST['ta'];
}
$fields = array('content' => $new_content);
$table = $modx->getFullTableName('site_content');
//$modx->event->alert($e->params['id']);
$rows_affected = $modx->db->update(
$fields,
$table,
"id = {$e->params['id']}"
);
};
};
Вешать на событие OnDocFormSave.