Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Drupal Views: Generate xml file

Is there a views plugin that I can use to generate a xml file? I would like something that I could choose the fields I would like to be in the xml and how they would appear (as a tag or a attribute of the parent tag).

For example: I have a content type Picture that has three fields: title, size and dimensions. I would like to create a view that could generate something like this:

<pictures>
  <picture size="1000" dimensions="10x10">
    <title>
      title
    </title>
  </picture>
  <picture size="1000" dimensions="10x10">
    <title>
      title
    </title>
  </picture>
...
</pictures>

If there isn't nothing already implemented, what should I implement? I thought about implementing a display plugin, a style, a row plugin and a field handler. Am I wrong?

I wouldn't like do it with the templates because I can't think in a way to make it reusable with templates.

like image 786
Luiz Guilherme Avatar asked Feb 21 '09 01:02

Luiz Guilherme


3 Answers

A custom style plugin is definitely capable of doing this; I whipped one up to output Atom feeds instead of RSS. You might find a bit of luck starting with the Views Bonus Pack or Views Datasource. Both attempt to provide XML and other output formats for Views data, though the latter was a Google Summer of Code project and hasn't been updated recently. Definitely a potential starting point, though.

like image 164
Eaton Avatar answered Oct 20 '22 18:10

Eaton


You might want to look at implementing another theme for XML or using the Services module. Some details about it (from its project page):

A standardized solution for building API's so that external clients can communicate with Drupal. Out of the box it aims to support anything Drupal Core supports and provides a code level API for other modules to expose their features and functionality. It provide Drupal plugins that allow others to create their own authentication mechanisms, request formats, and response formats.

Also see: http://cmsproducer.com/generate-how-to-drupal-node-XML-XHTML

like image 36
Rimian Avatar answered Oct 20 '22 19:10

Rimian


In Drupal 8 the Services module is now part of core (RESTful Web Services). This will allow you to provide any entity in xml or json. Also with views.

Read more here: https://drupalize.me/blog/201401/introduction-restful-web-services-drupal-8

like image 30
digitaldonkey Avatar answered Oct 20 '22 18:10

digitaldonkey