This package provides a custom field for Strapi that allows content editors to search and reference products from Commercetools.
- Search products: to make the right choice.
- Select products: to make them available to the API.
To install this plugin simply run this command in the Strapi project:
yarn add @jonssonworkwear/strapi-plugin-commercetools-integration
Inside Strapi's .env
file, add the Commercetools credentials. Without them the plugin cannot connect to the project. Read more about creating them at Get started with the TypeScript SDK | commercetools.
CT_PROJECT_KEY=key
CT_CLIENT_ID=id
CT_CLIENT_SECRET=secret
CT_SCOPE=scope
CT_REGION=region
CT_DEFAULT_LOCALE=en-US
CT_CDN_URL=cdn
When adding a new field to a content type, select CUSTOM (instead of DEAFULT), then select Product grid.
Inside a content-type, we can use the following schema:
"icon": {
"type": "customField",
"customField": "plugin::commercetools.ProductGrid"
}
- Select product: Click on Click to select and reference a product, navigate the modal to select one product
- Edit selection: Click on the Edit button with the pen icon, navigate the modal to change the selection
- Remove selection: Click on the Delete button with the trash bin icon
Clone this repository in the Strapi directory.
git clone https://github.com/JonssonWorkwear/strapi-plugin-commercetools-integration.git src/plugins/strapi-plugin-commercetools-integration
Add the plugin to the yarn workspace, inside ./package.json
file, so we won't need to use yarn
inside plugin itself.
"workspaces": ["./src/plugins/strapi-plugin-commercetools-integration"]
Install dependencies.
yarn
Register the plugin so Strapi can use it. Inside ./config/plugins.js
file add an entry:
module.exports = ({ env }) => ({
"component-name": {
enabled: true,
resolve: "./src/plugins/strapi-plugin-commercetools-integration"
},
});
Rebuild the project and start the server.
yarn build
yarn develop
Or perhaps use the --watch-admin
flag to toggle hot reloading of the admin panel.
yarn develop --watch-admin
All the changes are commited and pushed to this repository (or its forks), independently from the Strapi directory. The changes on the release
branch will be published in the @jonssonworkwear/strapi-plugin-commercetools-integration
package. If there is a new release published, plugins inside the Strapi project might need their version bumped.