SiteVisiondagarna
Sök på sitevisiondagarna.se
Sök på sitevisiondagarna.se

RESTApp Exempel

Hämta artiklar från ett arkiv

Exemplet hämtar alla artiklar från ett arkiv som pekas ut i konfigurationen för RESTApp:en.

Detta exempel bygger på RESTApp-boilerplate som hittas på SiteVisions GitHub.

Krav:

  • Minst SiteVision 4.5.2.
  • License för att bygga RESTApps

Dokumentation

Mer information om RESTApps finns på vår utvecklarwebb.

// index.js
(function() {
   'use strict';

   var
      appData              = require('appData'),
      restApi              = require('RestApi'),
      properties           = require('Properties'),
      router               = require('router');

	// endpoint - <domain>/rest-api/<addonName>/articles
   router.get('/articles', function(req, res) {
      // get archive from configuration
      var jcrNode = appData.getNode('archive');
      var articles = getArticles(jcrNode);
      
      res.json({articles: articles});
   });

   function getArticles(aJcrNode) {
      // get articles from archive via restApi-util and specified properties
      // "SV.Title", "SV.Image", "SV.Description" are metadata identifiers pointing to a specific text/image-module.
      var data = restApi.get(aJcrNode, 'nodes', { "properties": ["SV.Title", "SV.Image", "SV.Description", "publishDate", "URI"]});

      var articles = data.body;

      articles.forEach(function(article) {
         var image = article.properties["SV.Image"];
         if (image) {
            article.properties.imageUrl = properties.get(image, 'URL');
         }
      });

      return articles;
   }
}());
 /config/index.html
<div class="panel panel-default">
   <div class="panel-heading">
      <h3 class="panel-title">Exponera arkiv</h3>
   </div>

   <div class="panel-body">
      <div class="form-group">
         <label>Välj arkiv</label>
         <input class="form-control" placeholder="Välj" data-component="page-selector" name="archive">
      </div>
   </div>
</div>

Kontakta oss

sitevisiondagarna@sitevision.se

Johanna Carlson
070-230 63 80

Anmälan

Ulrika Sandberg
anmalan@sitevisiondagarna.se

Sponsorer

Daniel Klingzell
sponsor@sitevisiondagarna.se


SiteVision

SiteVision på Facebook
sitevision.se
SiteVision på Instagram
SiteVision på Twitter