Drupal → Создаём архив со списком всех материалов, сгруппированных по месяцам, с помощью Views

15.11.2010

На идею подтолкнул пост Sam-а "Открыт архив".

Архив с помощью Views

  1. Создаём представление с именем archive и типом Материал.

  2. Добавляем поля:

    Материал: Заголовок — с пустым поле Метка и включённой опцией Создать ссылку на материал, к которому относится текущее поле (скриншот).

    Материал: Количество комментариев — с пустым поле Метка, префиксом ( и суффиксом ) (скриншот).

    Материал: Дата создания — с пустым поле Метка, с включённой опцией Исключить из вывода и собственным форматом даты: Y, F (скриншот).

  3. Добавляем фильтр по типу материала и флагу Опубликовано (скриншот).

  4. Добавляем критерий сортировки по полю Материал: Дата создания и порядком сортировки По убыванию (скриншот).

  5. Изменяем стиль вывода на HTML список и группировкой по полю Дата создания (скриншот).

  6. Изменяем опцию Элементы для показа на 0, т.е. — не ограничено.

В итоге, в предпросмотре, должен получиться вот такой список, сгруппированный по месяцам:

Предпросмотр представления

Добавим немного CSS:

.view-archive li div {
    display: inline;
}

.view-archive .item-list {
    margin-bottom: 2em;
}

И получим:

Материалы сгруппированные по месяцам

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

Написанное актуально для
Views 6.x-2.x
Похожие записи

Комментарии

А не подскажите, как сделать так, чтобы пользователь мог выбирать месяц из выпадающего списка?

Спасибо, посмотрела. Только я хочу не отдельное меню, а сделать так, чтобы все материалы сайта выводились в таблицу, которую можно было бы сортировать по типу материала, по месяцу публикации, по авторам и т.д. Не могу сообразить, какой фильтр нужно отметить как exposed, чтобы в выпадающем списке были годы и месяца.

Гость
25.05.2011, 17:23

Добавим немного CSS:

Куда добавим??? можно подробнее?? пару строк...

Гость
26.05.2011, 00:04

Это понятно, а где тогда указать к нему путь ?

Гость
27.05.2011, 10:58

а не подскажете как сделать год и месяц ссылкой?

у полей есть опция - выводить в виде ссылки

Гость
27.05.2011, 14:34

может вы знаете как это можно будет реализовать?

у полей есть опция - выводить в виде ссылки

Гость
27.05.2011, 14:55

мы не понимаем друг друга. я имею в виду то что на мною приводимом сайте в верхней части выводятся года за были добавлены новости. по нажатию на которые выводятся месяца в которых были опубликованы новости. и по нажатию на месяц выводятся новости за этот месяц. вот мне нужно реализовать именно такую панель. Если можете подскажите как это можно реализовать.

думаю только с помощью своего модуля

Гость
27.05.2011, 15:07

просто мне писать его нет времени. поэтому и решил обратиться на форум.

Гость
03.06.2011, 13:40

"Добавим немного CSS:"
В какой файл, как называется класс?
Его нужно вписать в "КЛАСС CSS: "
Допишите статью пожалуйста...

Катерина
06.12.2011, 13:16

Спасибо, все понятно и доступно - сделала без проблем :)

На друпал 7.69 также работает. Еще добавил блок от вьюхи (хотя и дерьмово темизировал), а ссылку на архив на главной над постами добавил (создал файл page--front.tpl.php и туда ссылку программно закинул).
Спасибо за гайд!

Добавить комментарий