Вы здесь

Views 1: Справочник для начинающих

Создание и управление списками содержания.

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

Руководство по Views — это перевод статьи A beginners Guide to Using Views with Screenshots (a.k.a. Making an archive using Views) с сайта drupal.org.

Это очень простое введение рассказывающее как сделать на странице таблицу которая должна показывать список документов, документы полностью и т.д. Этот урок даст вам базовое понимание и дальше вы уже сами сможете делать то, что вам нужно. Я использовал такую страницу на своём сайте про комиксы — fingazandteeth.com, чтобы вывести список комиксов из архива и такая страница с этим хорошо справляется. Views — это очень мощный и удобный модуль, он очень хорошо подходит для настройки того, что и как вы хотите показать на странице.

Ниже приводится картинка на которой я постарался показать как работает Views.

Views 1. Справочник для начинающих

На приведённом примере Views выводит все заданные документы и показывает только их названия, и только если документ опубликован.

Краткий обзор того, как будет выглядеть страница

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

Views 1. Справочник для начинающих

Создание нового вида

Теперь мы займёмся созданием нашей страницы. Перейдите по ссылкам Administer → Site building → Views и нажмите вкладку Add.

Views 1. Справочник для начинающих

Раздел Basic Information

Теперь вы находитесь на странице создания видов. Первое с чего начнём, с раздела Basic Information. Каждый раздел на странице создания видов может быть свёрнут или развёрнут если нажать мышкой на его названии. В разделе Basic Information мы дадим новому виду название, это название быть уникальным. В своём примере я назвал его Archive.

Далее надо указать роли которым вы хотите дать доступ к этому виду. Я разрешил доступ всем пользователям отметив птичками оба поля Access.

Далее идёт поле в котором можно написать описание для вида. Это описание предназначается только для администраторов сайта и будет показываться на странице Administer → Site building → Views. Сюда я вписал: An archive list. На следующем рисунке вы можете увидеть как я заполнил этот раздел.

Views 1. Справочник для начинающих

Как все будет выглядеть — разделы Page и Block

Теперь нам нужно решить как будет выглядеть страница с нашим видом. Можно настроить вид для страницы и вид для блока. Сначала мы обсудим вид страницы.

Виду страницы надо задать URL и определить как на этой страницы будут показываться документы. В моём примере URL — archive, поэтому я поставил птичку в поле Provide Page View (оно над полем URL) и вписал его в поле URL. Затем, мы должны в поле View Type выбрать то, как будут показываться документы на странице. Это могут быть документы полностью, список кратких содержаний документов, таблица, список или RSS. Если вы выберите список, то будут показаны те поля, которые будут выбраны в следующем разделе, например, мы можем показать мой архив как список (смотрите рисунок ниже) или как таблицу. Если выбрать краткое содержание, то будет выводиться список документов с их кратким содержанием.

Views 1. Справочник для начинающих

В своём примере я использовал табличный вид. Для этого из раскрывающегося меню я выбрал Table View. Теперь можно задать название страницы в поле Title. Я назвал страницу — Comic archive, вы можете снова посмотреть рисунок, чтобы увидеть как это выглядит. Также я отметил поле Use Pager, что позволит использовать деление списка на страницы, и в поле Nodes per Page я вписал значение 10. Таким образом, если у меня будет больше 10 документов для показа, то внизу страницы появиться ссылка Next page.

Вы наверняка заметили, что в разделе Page находятся несколько вложенных разделов: Header, Footer, Empty Text и Menu. Для этого примера они не потребуются, но если вы буде использовать их для своих работ, то вы можете писать в них текст, вставлять HTML код (если захотите показывать картинки, баннеры, Flash и т.д.) и PHP-код.

Empty text — это то, что будет показано, если вид не найдёт никаких документов для показа. Если бы у меня не было никаких комиксов, то была бы выведена информация из этого раздела. На рисунке ниже вы можете посмотреть какие настройки я задал в разделе Page.

Views 1. Справочник для начинающих

Теперь перейдём в раздел Block. Он используется для создания блока, скажем, если бы мы хотели видеть 3 последних комикса в блоке ниже главного меню. В примере я не использую блок, но если хотите, то вы можете отметить поле Provide Block. Здесь также есть выпадающий список для выбора того, как вы хотите показывать документы в блоке. Title — это название блока, а Nodes per Block — количество документов в блоке. Если я хочу видеть 3 моих последних комикса, я должен ввести 3. Поле [More] Link? добавит ссылку на страницу с нашим видом.

Другие вложенные разделы выполняют те же функции как и в разделе Page. На рисунке ниже показано как выглядит раздел Block.

Views 1. Справочник для начинающих

Какая информация будет выводиться — разделы Fields, Arguments

Раздел Fields — этот тот раздел в котором вы начинаете понимать всю мощь этого модуля. В этом разделе вы вероятно найдёте много вариантов в выпадающем меню, в зависимости от того, какие модули у вас активированы. Если вы имеете модули интегрированные с модулем Views, вы вероятно найдёте и их в этом списке. Здесь так много вариантов, что я не собираюсь описывать их все.

То, что я хочу в этом списке — это название документа, таким образом выберите его из выпадающего списка и нажмите кнопку Add Field. Выше выпадающего меню появиться добавленный вами пункт. В поле Label вы можете написать название колонки которое будет выводиться для выбранного пункта. В поле Add Field я выбрал Node: Title, а в Label написал — Title. Можете посмотреть это на рисунке. В колонке Option я выбрал As link, чтобы название моего документа в списке было ссылкой на него. В колонке Sortable можно выбрать Yes или No. Если вы выберите Yes, то пользователи смогут сортировать вывод документов по их названию. В следующей колонке Default Sort задается правило для сортировки: по возрастанию или по убыванию. Колонка Ops позволяет удалить поле или изменить порядок вывода полей, перемещая их вверх или вниз.

Затем я добавил поле Node: Created Time и установил для него LabelPosted on. Можете снова посмотреть на рисунок. А в колонке Handler выбрал As Custom Date. Вы можете выбрать в каком формате показывать дату введя параметры в колонке Option: кратком, среднем или полном. Я ввёл: M d, Y. Также я сделал это поле доступным для сортировки и сделал его активным по умолчанию при сортировке по убыванию, т.к. хочу чтобы последний добавленный комикс показывался вверху таблицы.

Затем я добавил Voting API: Voting Results, чтобы показывалось сколько голосов отдали за данный комикс, а также сделал поле доступным для сортировки, наверняка кто-нибудь захочет отсортировать документы по отданным за них голосам. Таким образом, я вписал в Label# of Points (снова отправлю вас к рисунку, чтобы увидеть как это выглядит на странице) и на странице своего вида я сделал это поле последним опустив его вниз в списке. Смотрите рисунок ниже, чтобы увидеть как выглядят все эти настройки.

Views 1. Справочник для начинающих

Раздел Arguments

Они используются если вы хотите добавить некую функциональность виду или задать ему определённый путь.

Фильтры и сортировка

Фильтры используются чтобы задать более детальные настройки для вида вообще и полей заданных в разделе Fields в частности.

В моём примере все комиксы имеют тип документа — image, таким образом я хочу показать документы только этого типа. Первое поле которое я добавил — Node: Published, это не обязательно, но рекомендуется, потому что мне интересно показать только опубликованные документы этого типа, без тех, которые лежат в запасниках. Выберите оператор Equals, а значение для него Yes.

Вы наверняка заметили кнопку Expose. Нажатие на эту кнопку приведёт к добавлению фильтра в следующий раздел — Exposed Filters, назначение которого мы обсудим ниже.

Далее я добавил фильтр Node: Type. Этим фильтром я хочу определить тип документа для показа, а именно — документы типа image. Таким образом я оставил оператор Is One Of и выбрал в колонке Value тип image. Если я захочу показывать все документы исключая тип документа image, я выберу If None Of.

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

Views 1. Справочник для начинающих

Раздел Exposed Filters

Эти фильтры показываются на странице вида пользователю. Например, если бы в разделе Filters вы выбрали для показа все типы документов (page, mail, image, node) и нажали бы для фильтра Node: Type кнопку Expose, то разрешили бы пользователям самим выбирать тип документа из раскрывающегося меню.

Раздел Sort Criteria

Это критерии сортировки по умолчанию.

Заключение

Надеюсь, что после прочтения этого руководства вы поняли как работает этот модуль и больше нигде нельзя будет услышать: «Э-э-эх, как же работает этот Views?». Имейте ввиду, что это руководство даёт лишь общие представления и не раскрывает полную мощь этого модуля, к тому же, постоянно появляются новый модули расширяющие базовые возможности Views.

Если вы хотите вживую увидеть страницу, создание которой здесь описывалось, то можете перейти по этому адресу и поиграться с ней: fingazandteeth.com/archive

Views 1. Справочник для начинающих

Комментарии

Изображение пользователя pando

А как с помощью этого модуля повыводить, скажем по одному последнему блогу от каждого пользователя? Протыкался - не нашел. Сортировка, фильтры есть, а обрезка по количеству или хотя бы уникальности по параметру (UID) не нашел. Помогите плиз

Изображение пользователя Lat

Огромное вам спасибо за статью! Очень помогла!!!!

Изображение пользователя Анонимно

С горем пополам получилось разобрался в Views 6.x-2.2 :))
Очень полезная статья, большое спасибо!!!

Изображение пользователя Lenin

Скажите пожалуйста - а как именно вставить потом php код в код моего модуля ?

Изображение пользователя givchik

если и я правильно понял то с помощью этого элемента создана страница Модули.
категории реализованы с помощью чего-то вроде Раздел Exposed Filters. Сами статьи выведены как: список кратких содержаний документов или таблица.
Интересно как появился алфавитный показчик? Где-то я видел модуль который автоматом создает такое решение!) Надо будет его еще раз поискать.))))
А в обще, я так точно, с радостью на еще одном примере послушал как этим пользоваться (напрашиваюсь на совет по созданию такого показчика как на этом сайте, мне пригодится, как раз в тему, ну или хотя б пните в нужном направлении!))))

Изображение пользователя drupal.org.ru

С видами удобно разбираться смотря на то, что как сделано уже в готовых, вроде Calendar или в сборках, вроде Drupal Commons (блок пользователя). Здесь алфавит вбит вручную, а для его работы используются аргументы.. Примеры можно посмотреть включив виды, которые включены в пакет, но отключены по умолчанию tracker, popular, glossary.

ВложениеРазмер
Image icon alfavit_1.png13.09 КБ
Image icon alfavit_2.png21.8 КБ
Изображение пользователя givchik

Будем разбираться,
если что я еще приду с глупыми вопросами (глуп только тот вопрос который не задан).))))

Изображение пользователя Анонимно

Спасибо, за перевод.

Руководство по Views — это перевод статьи A beginners Guide to Using Views with Screenshots (a.k.a. Making an archive using Views) с сайта drupal.org.

Ссылку на drupal.org поправьте)