If a subqueue is reordered via its admin page (e.g., /admin/content/nodequeue/1/view/1), no hook_nodequeue_ gets invoked unless one of the items is removed from the subqueue. If the subqueue is simply being reordered, other modules aren't notified.

I added the following to the nodequeue_save_subqueue_order() function (right before the final "return array" line):

  // notify other modules of the swap
  module_invoke_all('nodequeue_swap', $sqid, $nid);

hook_nodequeue_swap is fine for my purposes, but I don't know if it is generally appropriate for this function since normally it is only called when two items are swapped. So perhaps a new hook is needed (_save? _update? _order?), and instead of passing a single $nid to it, it would receive an array of them in their new order.

Comments

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.