Рандомный вывод новостей только с высоким рейтингом
Небольшой хак поможет вывести на сайте, например, блок с рекомендуемыми новостями. При этом новости будут выводится рандомно и только с высоким рейтингом.
Установка:
1. Открыть engine/modules/functions.php и найти:
if ( $allowed_sort[$match[1]] ) $news_sort = $allowed_sort[$match[1]];
Добавить выше:
if ($str = parse_sort($match[1], $allowed_sort)) {
$news_sort = $str;
$news_msort = '';
}
В самом низу functions.php добавить:
function parse_sort($sort_string, $allowed_sort) {
$result = '';
if (strpos($sort_string, ',') !== false) {
$parts = explode(',', $sort_string);
foreach ($parts as $value) {
$value = trim($value);
$arr = explode(' ', $value);
$arr = array_map('trim', $arr);
list($order, $direction) = $arr;
$direction = strtoupper($direction);
if (!empty($allowed_sort[$order])) {
$result .= ($result ? ', ' : '').$allowed_sort[$order];
if ($direction and in_array($direction, array('ASC', 'DESC')) and $order != 'rand')
$result .= ' '.$direction;
}
}
}
return $result;
}
2. В нужное место main.tpl добавить, например:
{custom category="10" template="custom-side1" limit="4" order="rating DESC, rand" cache="no"}
Теперь можно указывать несколько критериев сортировки в параметре order, например order="rating,reads". Можно дополнительно указывать направление сортировки - DESC или ASC. Параметр sort - игнорируется.
Готово!
• Автор: Flash
• Источник
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.
Комментариев 3