How can I change the order used for Book nodes, which by default is based on weight and title?

I have a set of nodes displayed inside a page that use a structured book. I want to display them ordered by weight and random, instead of weight and name.

The book is used to structure different types of local companies and restaurants.

I have traced the code looking for a solution, but it's a bit messy for me.

Is there a hook that could be helpful to achieve this?

1 Answer 1


You should checkout the Book helper module.

The Book helper module enables additional features from Drupal's menu system to improve the ordering of a book's pages. This module also allows administrators to further customize a book's navigation block.


  • Enhances the book outline manager
  • Adds 'enable' checkbox (aka hidden) to the manage book outline page
  • Adds an 'Order' tab (node/%/order) to a book's main page
  • Adds 'administer own book outlines' permission for ordering books from a book's main page
  • Removes the 'Outline' tab from all nodes
  • Removes the book fieldset from node edit pages if the content type does not allowed book outlines
  • Removes 'add child page' and 'printer-friendly version'
  • Removes book navigation
  • Customizes visibility of a book's navigation elements
  • Automatically 'Create new book' for selected content types
  • Includes 'Book (inline) navigation' block that can be easily positioned after a node's content
  • Disables new revisions from being created when a book's node title is updated
  • Displays a warning when deleting a book page (node/%/delete) that has child pages

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.