A Strapi plugin that enables drag-and-drop sorting of entries within a collection type.
Install with NPM.
npm install strapi-plugin-sortable-entries --saveInstall with Yarn.
yarn add strapi-plugin-sortable-entriesAdd 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
sortOrderof typeintegerto the collection type you want to make sortable. -
Configure the view of that collection type:
- Set
sortOrderas 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.
Note: When adding new entries, you may leave the sortOrder field blank or even hide it in the Admin Panel. The plugin will automatically assign a value that places the new entry at the end of the list.
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=sortOrderproducts: The name of the content type you want to fetch.sort=sortOrder: Sorts the results by thesortOrderfield in ascending order. Append:descfor a descending order.
Below are screenshots from an example application using this plugin to sort products.
