A Strapi plugin that enables drag-and-drop sorting of entries within a collection type.
Install with NPM.
npm install strapi-plugin-sortable-entries --save
Install with Yarn.
yarn add strapi-plugin-sortable-entries
Add the following configuration to your config/plugins.ts
file. Create the file if it doesn’t already exist:
export default {
// …
'sortable-entries': {
enabled: true,
},
};
Then restart the app to apply the changes.
-
Add a field named
sortOrder
of typeinteger
to the collection type you want to make sortable. -
Configure the view of that collection type:
- Set
sortOrder
as the Default sort attribute. - Choose ASC as the Default sort order.
- Set
-
To start sorting entries, click the Drag icon located next to the Settings icon in the top-right corner.
-
A modal will appear, allowing you to drag and drop entries into your desired order.
- The displayed title for each entry is the Entry title defined in your collection type.
- You can configure the entry title by editing a single entry and selecting Configure the view from the three-dot menu (
...
).
-
Click Submit to save the new order. The modal will close and the list will refresh to reflect the changes.
To retrieve entries in the specific order from the frontend, you can make a GET request to the Strapi API. In the example below, we're querying a content type called products
, ordered by the sortOrder
field in ascending order:
GET http://localhost:1337/api/products?sort=sortOrder
products
: The name of the content type you want to fetch.sort=sortOrder
: Sorts the results by thesortOrder
field in ascending order. Append:desc
for a descending order.
Below are screenshots from an example application using this plugin to sort products.