Drupal 7 Tutorial: Using Entityqueue

Now that Entityqueue has been released, I wanted to give a quick tutorial on how to use it.

You can manage the queues from the /admin/structure/entityqueue page.

Click "Add" to create a new queue. Once you're there you have several options. Enter the queue title and optionally change the machine name. I'll talk more about the handler in a future blog post, but for most cases the "Simple queue" handler will be what you want.

Next you select the entity type for the queue. Then select which content types (aka: bundles) that can be added to this queue.

Under "Queue properties" you can set the minimum and maximum number of items allowed in the queue. If you want an unlimited max, leave 0 in the max items field. If you enter any other max, you have an option for what should happen when the max is reached. By default, when somebody tries to add another item to the queue, you get a validation error and another item will have to be removed before a new one is added. If you check the "Act as queue" box then the top-most item(s) will be automatically removed from the queue when the next item is added.

Hit "Save" and now you can see your new queue in the list.

Entityqueue uses Ctools, so you can Disable, Delete, Clone and Export your queues too!

When you click "Edit items" you are presented with an Entityreference autocomplete field to add new items. Click on the item and then hit "Add item"

The item now shows up in a draggable table that allows you to reorder items.

Once you have several items in the queue you can reorder them.

Click the "Remove" button next to an item to remove it.

Once you're all done adding, rearranging and removing items, hit "Save".

Comments

A lot of modules start explaining how to do what you have to do without explaining when I should use the module. The name explains often the use but doesn't explain what problem it solves.

I expect the problem is entities are completely not, sometimes, or not cached in the right way or the right duration.
Can you please give the use case when this module can solve the proposed solution?

Just like Nodequeue allows you to create and sort lists of nodes, entityqueue allows you to create and sort lists of any entity type (nodes, users, terms, files, etc). I'll be writing a follow-up post on this subject, which will take the form of a comparison of when I would use Entityqueue vs when I would use Draggable Views. For now, you can compare the list of node ordering modules to see get an overview of the problems these modules solve and how they work. Entityqueue is most like Nodequeue.

Thanks very much for helping make this happen.

We are going to be using the module, coupled with multiple_selects and inline_entity_form, to implement an editor (i.e. non-admin) user interface and it is necessary to include some additional changeable fields in the "edit example queue" form. These fields will be members of a node or entity that sits between the view that displays the queue and the actual user data.

Have you any suggestions? Should I be thinking of overriding theme_entityqueue_dragtable()?

It sounds like you are wanting to include other fields from the entity and not an entity reference field. I think overriding theme_entityqueue_dragtable() would be a decent solution. I might suggest using hook_field_widget_form_alter() to alter the widget form and loop through element_children($element['items']) to add the fields you want to each form. You could then also override $element['items']['#theme'] there to set it to your custom theme function.

Does it handle multilingual languages or manually it has to be handled

Hello Jonathan,
I downloaded and installed Entityqueue 7.x-1.0 but the menu path to /admin/structure/entityqueue is not working. Also, using Coffee module, I observed that there are no menu references to Entityqueue. Please how do I access the menus?
Thanks.
Kola

Add new comment

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <cpp>, <java>, <php>. The supported tag styles are: <foo>, [foo].
  • Web page addresses and email addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Ready for transformation?