ember-data-contentful
This is an Ember Data adapter/serializer that uses the READ ONLY Content Delivery API from contentful
Setup in your app
ember install ember-data-contentful
After installing the addon, configure your Contentful Space ID and Access Token in config/environment.js
:
contentful: space: 'YOUR-CONTENTFUL-SPACE' accessToken: 'YOUR-CONTENTFUL-ACCESS-TOKEN' previewAccessToken: 'YOUR-CONTENTFUL-PREVIEW-ACCESS-TOKEN' usePreviewApi: false
Contentful models
Included are a few models to help with some of the default fields. here is an example:
// models/post.js;;; ;
will give you the default fields of contentType
, createdAt
, and updatedAt
.
For any relationship property that is a Contentful Asset (image or other media file), use the contentful-asset
model. i.e. image: belongsTo('contentful-asset')
in order to get the asset correctly.
Usage
Once you have configured your tokens and created your models, you can use the normal Ember Data requests of findRecord
, findAll
, queryRecord
, and query
. For example:
{ return thisstore;}
or
{ return thisstore;}
If you want to use pretty urls and the slug
field in contentful, you can make your query like so:
{ return thisstore;} { return page_slug: ;}
and ensure that you declare your route in router.js
like this:
this;
Previewing Content
Contentful provides a Preview API that allows you to preview unpublished content. In order to enable this, ensure you have your previewAccessToken
configured in config/environment.js
and enable the usePreviewApi
property.
For more information on the contentful Content Delivery API and the available queries, look here: https://www.contentful.com/developers/docs/references/content-delivery-api/