Views Datasource - различные форматы вывода представлений в Drupal
Модуль Views Datasource позволяет вывести результаты вьюшки в Друпал в форматах XML, JSON и XHTML.
Модуль Views Datasource позволяет вывести результаты вьюшки в Друпал в форматах XML, JSON и XHTML.
В Drupal 7 вывести любое поле во Views в виде ссылки на ноду можно следующим образом:
В модуле Views отсутствует критерий фильтрации по синонимам URL содержимого. Например, с помощью модуля Pathauto вы настроили шаблон ЧПУ для определенного типа материала на основе путей родительских пунктов меню, и часть страниц у вас попала, скажем, в подменю «Услуги», тогда у этих страниц ЧПУ будут иметь вид uslugi/[node:title]. Задача – вывести эти страницы в отдельный блок на главную страницу или в боковую колонку. Конечно, можно воспользоваться фильтром по nid, но тогда при добавлении новой страницы вам нужно будет корректировать и настройки фильтра, добавляя туда id новой ноды, что неудобно.
Усложним задачу, описанную в статье «Скрываем поле во Views, если другое заполнено». Добавим в тип материала еще одно поле – «Цена в евро».
На Drupal-сайте имеется view, выводящее ноды, отсортированные по дате публикации. Во вьюшке настроен раскрытый фильтр по одному из полей. Необходимо в случае, если введено значение раскрытого фильтра, выводить ноды, отсортированные уже по этому фильтру.
Предположим, у типа содержимого сайта на Drupal есть два поля для хранения цены в разных валютах, например в долларах и гривнах. Пусть поле «Цена в гривнах» является обязательным, т.е. будет заполнено в любом случае при создании ноды с помощью формы в админке сайта. При этом с помощью Views мы создаем страницу каталога, в котором поля стоимости должны выводиться с условием: если поле «Цена в долларах» заполнено, то отображать именно его, а если пусто, то выводить цену в гривнах.
Модуль Better Exposed Filters улучшает функциональность раскрытых фильтров Views в Drupal, предоставляя в частности, плагин Jquery UI Slider (ползунок) для раскрытого фильтра с диапазоном значений. Однако при этом имеется возможность указать только фиксированные значения «от» и «до» для фильтра, что в ряде случаев может нам не подойти. Например, если у нас сайт-каталог или интернет-магазин товаров, то логично для каждой категории товаров задавать минимальные и максимальные цены на товары из данной категории, а не всего каталога.
Задача – показывать поля view только для пользователей определенной роли (или нескольких ролей).
Решить задачу конечно можно, создав несколько идентичных представлений (блоков или страниц), а затем ограничить их вывод по ролям. Но все же, на мой взгляд, проще с этой целью написать небольшой модуль и в нем имплементировать нужный хук модуля Views (см. документацию по API модуля Views). Итак, приступим.