Content and CMS
Content is the most important part of your e-commerce. It is what makes your website stand out from the competition. It is what makes your website memorable. It is what makes your e-commerce successful.
Before you start it's an good idea to add content in the CMS section of Merchant Center. This will make it easier to add content to your e-commerce.
Content areas
The areas available for content out-of-the-box are:
- Start page (whole page)
- Product list page
- Product page
- Pages (whole page)
Adding a content area to a page
You add areas to any page. They are called CaWidgetArea
and are ready to recive and render content instantly. All you have to do is add the CaWidgetArea
to the page and make the proper settings.
<CaWidgetArea
family="Frontpage"
area-name="The front page area"
@dataFetched="$store.dispatch('loading/end')"
/>
For full reference of CaWidgetArea
component, see the component reference.
Preparing the launchpad for custom widgets
To be able to use custom widgets in your storefront, you need to add components to render them. A recommended way to set this up is to use the Geins CMS module. The only thing you will have to do to get started is to follow the instructions for installing the module in your storefront, and then begin creating your widget components.
Ralph UI for Ralph Storefront comes with a set of out-the-box widget components. You can use these components as they are. They all have their corresponding widget types in the CMS.
Requirements for using the module
For the module and your custom widgets to work properly there are three requirements:
- Your Geins Ralph Storefront will have to use @ralph/ralph-ui version 20.0.0 or above.
- Your JSON must have a
component
property and aconfiguration
property. Thecomponent
property should contain the name of the custom widget component you want to be rendered. Theconfiguration
property should contain the configuration data. For example:{
"component": "MyWidgetComponent",
"configuration": {
"title": "",
"cards": [
{
"image": "",
"buttonText": "",
"buttonColor": ""
}
]
}
} - Your custom widget component needs a
configuration
prop. This prop will hold theconfiguration
from your JSON above. For example:...
export default {
name: 'MyWidgetComponent',
props: {
configuration: {
type: Object,
required: true
}
}
...
}
...