@goods/ember-goods-pages
v0.2.1
Published
The default blueprint for ember-cli addons.
Downloads
40
Readme
ember-goods-pages
This addon provides a simple way of using the (https://www.goods.co.uk "Goods") Pages feature in an EmberJS app. This feature adds CMS functionality to an Ember app, with pages and page templates that can be created and managed in the Goods UI.
This addon requires the (https://github.com/goods/ember-goods "ember-goods
") addon.
Compatibility
- Ember.js v3.24 or above
- Ember CLI v3.24 or above
- Node.js v14 or above
Installation
ember install ember-goods-pages
Usage
1. Configuration
Enable the addon through the Goods configuration in environment.js
let ENV = {
...
APP: {
goods: {
apiKey: 'abcd1234',
...
pages: {
enabled: true,
},
},
},
}
2. [Optional] Initialize the router
ember-goods
will automatically initially the Pages router if enabled but if it needs to be done manually it can be done as below:
import GoodsRouterService from '@goods/ember-goods-pages/services/goods-router';
export default class Application extends Route {
@inject declare goodsRouter: GoodsRouterService;
async beforeModel() {
await this.goodsRouter.initialize();
}
}
3. Add the glob route
A glob route that can delegate page loading will need to be added to the ember router. This route can be placed anywhere in the routing structure (e.g. /blog/glob if that is the only area managed through Pages).
ember g route glob
This route should extend the page
route provided by the addon.
import Page from '@goods/ember-goods-pages/routes/page';
export default class Glob extends Page {}
A component will then need to render the resolved page. This defaults to a component called Pages/Page
.
The Page component will be passed the model with the resolved RouteInfo. The page data will now need to be loaded.
Contributing
See the Contributing guide for details.
License
This project is licensed under the MIT License.