Дано: MODx 1.0.0
Нужно: выводить список новостей в следующем формате:
Реально ли это сделать без переписывания куска Ditto?
Вариант 1 — extender. Сохраняем код в файл assets/snippets/ditto/extenders/dateGroup.extender.inc.php
Далее: в параметрах вызова ditto включаем PHx — '&phx=`1`', в чанке выводящем каждую новость их списка (&tpl) пишем примерно следующее:
Вариант 2, без Ditto (предложил fuzzy) — modx.ru/blog/modx-adding-articles
Нужно: выводить список новостей в следующем формате:
25.08.09
> заголовок 2 новости от 25 августа
описание
> заголовок 1 новости от 25 августа
описание
24.08.09
> заголовок новости от 24 августа
описание
Реально ли это сделать без переписывания куска Ditto?
Вариант 1 — extender. Сохраняем код в файл assets/snippets/ditto/extenders/dateGroup.extender.inc.php
<?php
global $dateSource, $dateFormat;
$dateSource = isset($dateSource) ? $dateSource : "createdon";
$placeholders['groupDate'] = array(array($dateSource, "*"), "getGroupDate", $dateSource);
$dateFormat = isset($dateFormat)? $dateFormat : '%d.%m.%y';
if (!function_exists("getGroupDate")) {
function getGroupDate($resource) {
static $date = '', $id = '';
global $dateSource, $dateFormat;
if ($date !== strftime('%d.%m.%y', $resource[$dateSource]) || $id == $resource['docid']) {
$id = $resource['id'];
$date = strftime('%d.%m.%y', $resource[$dateSource]);
return strftime($dateFormat, $resource[$dateSource]);
} else {
return false;
}
}
}
?>
Далее: в параметрах вызова ditto включаем PHx — '&phx=`1`', в чанке выводящем каждую новость их списка (&tpl) пишем примерно следующее:
[+groupDate:isnot=``:then=`<p class='news_date'>[+groupDate+]</p>`+]
<p class='news_item'>
<span class='title'><a href='[~[+id+]~]'>[+pagetitle+]</a></span>
[+introtext:isnot=``:then=`<br /><span class='description'>[+introtext+]</span>`+]
</p>
Вариант 2, без Ditto (предложил fuzzy) — modx.ru/blog/modx-adding-articles