Как можно сделать сортировку вывода последних материалов по дате создания ? Только не на самих материалах, а в блоке последние записи. У меня получается так, если я изменяю какую-то статью, то в блоке последних материалов эта статья показывается первой, т.е. срабатывает сортировка по последнему изменению.
Комментарии
views попробуйте
Чтобы не было скучно:
$query_fields = $query->getFields();
if (1 == count($query_fields) && 'nid' == key($query_fields)) {
$order_by =& $query->getOrderBy();
if (isset($order_by['n.changed']) && 'DESC' == $order_by['n.changed']) {
$tables = $query->getTables();
if (1 == count($tables) && 'n' == key($tables)) {
// dpm($query->__toString(), 'before');
// before => SELECT n.nid AS nid
// FROM
// {node} n
// ORDER BY n.changed DESC
// LIMIT 10 OFFSET 0
$order_by['n.created'] = 'ASC';
unset($order_by['n.changed']);
// dpm($query->__toString(), 'after');
// after => SELECT n.nid AS nid
// FROM
// {node} n
// ORDER BY n.created ASC
// LIMIT 10 OFFSET 0
}
}
}
}
Для простоты я засунул это в template.php темы, но можно и в модуль запихать.
Примечание: теоретически существует вероятность, что такой запрос используется ещё где-нибудь.
Про views я сразу и подумал, только вот как конкретно там это сделать ?
ser_house Спасибо! Попробую прикрутить это на локалхосте и испытать.
Создайте views блок , там достаточно просто найти сортировку .
Ну и останется заменить существующий блок новым .