Views - вопрос по фильтрам

Главные вкладки

Аватар пользователя Shaltay Shaltay 15 апреля 2008 в 12:05

Всем привет, бьюсь с Views.

Настроил вид для заглавной страницы - 10 последних новостей без пейджера, теперь хочу сделать табличный вид "архив новостей".
Можно ли каким-либо образом настроить фильтр, чтобы выводил все ноды, кроме первых 10 (по порядку убывания по дате)?

Комментарии

Аватар пользователя pchela pchela 15 апреля 2008 в 14:28

Могу предложить страшно некрасивый вариант, но рабочий. Не красивость заключается в том, что нужно лезть в код.

Файл views.module
Функция views_build_view

Строка:
$view->offset = $offset;

Заменить на:

if ($view->name == 'your-view-name') {
$view->offset = $offset + 1;
}
else {
$view->offset = $offset;
}

Аватар пользователя venom280 venom280 15 апреля 2008 в 15:11

Копец! Вы морите.

А как насчет стандартных функций?

<?
         $view = views_get_view('news_block');  
         
         //где news_block имя твоего вида.

         print views_build_view('embed', $view, $args, $view->use_pager, $num, $offset);    

         /* $view->use_pager - выводить ссылки на страницы, $num -число материалов, а теперь ВНИМАНИЕ $offset -сколько нод пропустить.
        вместо $view->use_pager можешь поставить 0 или 1.
       И еще, $offset у меня глючил, когда был включен $view->use_pager .
         */

?>

Попробуй расскажи как получилось.

Аватар пользователя Shaltay Shaltay 16 апреля 2008 в 11:26

Сделал:

<?php
     
$view = views_get_view('news_arch');  
         
print views_build_view('embed', $view, $args, 1, 100, 10);    
 
?>

Оффсет не работает, всё равно вываливает все ноды начиная с последней.

Аватар пользователя pchela pchela 16 апреля 2008 в 12:13

Определение общего количества элементов и какую страницу отображать происходит здесь:
pager.inc -> function pager_query

... а как нужные изменения делать грамотно пока не знаю ... :/