Описание
Модуль Views Datasource это набор плагинов для Views, позволяющих выводить данные в одном из четырёх форматов:
- XML (Raw XML, OPML, Atom)
- JSON (Simile/Exhibit JSON, Canonical JSON, JSONP/JSON in script)
- RDF (FOAF, SIOC, DOAP)
- XHTML (hCard, hCalendar, Geo)
Установка и использование
Установка стандартная — распаковать в sites/all/modules
, включить нужные модули.
Дальше создаём представление. Добавляем дисплей Page. Выбираем формат дисплея, например XML data document:
Настраиваем формат:
Добавляем нужные поля. Label у поля служит именем элемента.
Результат:
Например мне с помощью этого модуля удалось практически без кодинга создать xml трансляцию для Яндекс.Автообъявления.
Подводные камни
Пропадают имена элементов в XML
Если сайт локализован, то label-ы у полей (имена элементов) переводятся на текущий язык и из них удаляются все не латинские символы. Issue.
Чтобы этого избежать я добавляю к именам нижнее подчёркивание (скриншот), а затем в hook_preprocess_views_views_xml_style_raw()
делаю простой str_replace()
:
$vars['xml'] = str_replace('_>', '>', $vars['xml']);
Вывод значений multi-value поля
Чтобы вывести все значения поля в виде:
<element-name>value1</element-name>
<element-name>value2</element-name>
...
можно в настройках поля в качестве разделителя прописать токен [element-name-separator]
(скриншот), а затем в hook_preprocess_views_views_xml_style_raw()
сделать preg_replace()
:
$vars['xml'] = preg_replace('#\[([a-z-]+)-separator\]#isU', '</$1><$1>', $vars['xml']);
Если прописать в разделителе xml теги, то они будут удалены при генерации xml. Issue #1079946 и #985380.
Вывод значений multi-value поля типа Image
Баг #1319714 не позволяет выводить больше одного значения поля типа Image.
Решение — поставить модуль Image URL Formatter и в настройках поля (Views) выбрать форматтер Image URL (скриншот).
- Модуль Views field replace value — замена значений полей в Views
- Модуль Geofield Yandex Maps — ввод и вывод гео-информации на Яндекс.Картах 2.1
- Модуль Google Analytics Statistics — вывод популярных материалов с помощью Views на основе данных Google Analytics
- Search API и поиск с морфологией
- Краткий обзор моей песочницы на drupal.org
Комментарии
А services_views как аналог не рассматривал?
не находил такой, но судя по видео это немного не то
Если мне представление views нужно отразить на другом сайте , есть ли что нибудь полегче чем feeds модуль?
непонятно причём тут feeds
Ну а каким образом тогда отразить вьюху с одного друпал сайта на другом?
http://drupal.org/project/views_xml_backend
Спасибо, нужно потестировать, до этого думал ставить http://drupal.org/project/web_widgets
андед, а можно при помощи этого модулька вывести в xml адреса нескольких допустим предприятий для яндекс карты? ну то есть подготовить в нужном яндекс картам формате файлик xml
попробуйте
А если мне надо вывести мультиполе в виде:
Антиблокировочная система (ABS)
Кондиционер
Легкосплавные диски
Магнитола
как это реализовать?
А если мне надо вывести мультиполе в виде:
[equipment]
[item]Антиблокировочная система (ABS)[/item]
[item] Кондиционер[/item]
[item] Легкосплавные диски [/item]
[item] Магнитола [/item]
[/equipment]
Как это реализовать?
Вопрос может не в тему, но как реализовать вот такое мультиполе в виде:
http://www.site.ru/files/photos/679867.jpg
http://www.site.ru/files/photos/679867.jpg
..
Вопрос может не в тему, но как реализовать вот такое мультиполе в виде:
[photos]
[url]http://www.site.ru/files/photos/679867.jpg[/url]
[url]http://www.site.ru/files/photos/679867.jpg[/url]
[url]http://www.site.ru/files/photos/679867.jpg[/url]
[/photos]
Добавить комментарий