I have a site where there are multiple staff profiles, each of which are in a specific department; some times more than one. Parts of these profiles are then displayed in a grid view for each department.

What I need to do is have a method of setting their ordering in the grid view. My original plan was to just have a text field where they can enter the profiles position number & have the view order by that. The problem is they can be part of multiple departments so the numbers entered could conflict between departments.

Does anyone have any ideas on a way around this?

The other idea that has been suggested is to add a weighting to each profile and that would dictate its position, still kind of has the same problem as the text field though. If I was to use the weighting system what is the best way to add it? I assuming just creating a select field with the options -50 through to +50 isn't the best way?

3 Answers 3


With the module Draggable Views, you can set up an administrative view to set the order (with the standard drag and drop interface), and then you can create other views that display the contents following that order.

There is a comparison of node/entity ordering modules here

Draggable Views:

DraggableViews makes rows of a view "draggable" which means that they can be rearranged by Drag'n'Drop.

Have you ever rearranged Blocks?, sorted Taxonomy terms? or reordered Menu items at the Drupal administration pages? All these pages use the tabledrag.js javascript that enables Drag'n Drop on HTML-tables.

With DraggableViews you can apply this tabledrag.js to any Views-generated table.


  • Order any type of entity.
  • Set different order for different set of arguments.
  • Create one view that sets the order, and create as many views as you like that shows that order.
  • Use core tabledrag.js or jQuery UI draggable javascripts to set the order.
  • Thanks for that, this looks like the easiest one suggested so far, is there a way to get it working with the Deployment module? I realise this wasn't in my question, I only just found out about that requirement.
    – Neil Nand
    Oct 2, 2015 at 13:49
  • Sorry, never used the Deploy module. I'm recently trying out the Configuration module to help with site config (including views) deployment/migration, although many people use Features for that.
    – scb
    Oct 5, 2015 at 7:27

There is a module for that:


A rewrite of Nodequeue for Drupal 7 based on entities.

The Entityqueue module allows users to create queues of any entity type. Each queue is implemented as an Entityreference field, that can hold a single entity type.

For instance you can create a queue of:

  • Nodes
  • Users
  • Taxonomy Terms

Entityqueue provides Views integration, by adding an Entityqueue relationship to your view, and adding a sort for Entityqueue position.

  • Thanks for the reply, is there a way to get it working with the Deployment module? I realise this wasn't in my question, I only recently found out about that requirement.
    – Neil Nand
    Oct 5, 2015 at 14:39

Assuming the "profiles" are implemented as "nodes" (as your question title suggests), you should have a look at the Nodequeue module. Some more details about it (from its project page):

The Nodequeue module allows users to collect nodes in an arbitrarily ordered list. The order in the list can be used for a any purpose, such as:

  • A block listing teasers for the five top news stories on a site
  • A user’s favorite music albums
  • A group of favorite from which one is randomly displayed

Nodequeue provides a simple drag-and-drop interface to manually order any queue. Additionally, it allows nodes to be added and removed from queues without needing edit permissions to the node. Nodes can be added to queues either from a queue management tab or by links on the node teaser.

Here is a screenprint about it:

enter image description here

Note: The Entityqueue module is a rewrite of Nodequeue for Drupal 7 based on entities, and allows users to create queues of any entity type.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.