Last updated October 12, 2016. Created on April 8, 2002.
Edited by Christopher James Francis Rodgers, Codenext, davidneedham, gadaniels72. Log in to edit this page.

A book is a set of pages tied together in a hierarchical sequence, perhaps with chapters, sections, subsections, and so on. You can use books for manuals, site resource guides, Frequently Asked Questions (FAQs), or whatever you'd like.

Book module is a core module and is not enabled by default. It must be enabled through Administer >> Site building >> Modules (Drupal 5 and 6) or Administration >> Modules (Drupal 7).

Users who have permission can create a book and write, review, modify, or rearrange the pages. Many users can work together on a book -- you can allow or disallow collaboration, to whatever extent you want.


Creating, modifying, and administering books

On the books administration page administer >> content >> books (Drupal 5 and 6) or Content >> Find content >> Books (Drupal 7), users with proper permission can view a list of all published books on your site. For each book there's a link to an outline, from which you can edit or delete pages or sections, change their titles, or change their weight (thus putting them in a different order). In some versions of Drupal, you can also check for orphan pages (pages that have become disconnected from the rest of the book); in other versions of Drupal, pages cannot be orphaned.

When a user creates new content of type Book page, they can add their page at the level of their choice in a book, or start a new book if they have permission. This is called defining the "parent" for a book page, and is in the "Book outline" section of the edit screen.

You also can change the position of a page in the book hierarchy later from the page edit screen, by changing the "parent" to which it belongs. Any "child" pages of the page you are editing will automatically be moved too, so if the page you are editing is a section header, this allows you to move an entire section.

On the permissions page administer >> user management >> permissions (Drupal 6) or Dashboard >> People >> Permissions (Drupal 7), you can assign users with various roles the permission to create book pages, to create new books, and to edit their own book pages or the pages of others.

You can also give permission to outline posts in books or add content to books (depending on the version of Drupal you are using). Users with this permission can take any other type of content on your site and add it to a book. When viewing content they'll see an outline tab, and by clicking it they'll come to an interface that lets them move the content into a book.

Book navigation and menus

When a visitor to your site is viewing a book page, they will automatically see links at the bottom for navigating to the previous page and the next, and a link labeled up that leads to the level above in the structure. There will also be a link to a printer-friendly version of the page at the bottom, for users with permission to view printer-friendly versions of pages.

The Book module automatically generates a contents page for each book. However, if the books on your site are complex, you may find that you need additional navigational aids beyond the table of contents and the previous/next/up links for users to understand where they are in your book. One navigational aid you can use is the book navigation block, which you can enable on the blocks page administer >> site building >> blocks (Drupal 5 and 6) or Dashboard >> Structure >> Blocks (Drupal 7). Enabling this block will turn on a menu that shows where the user is in your book; the menu is only visible when viewing the book.

Another navigational aid you can add to your site is a books link in any of your menus, which will take users to a list of your books. The books menu item is automatically part of the Navigation menu, and you can enable it from menus page administer >> site building >> menus (Drupal 5 and 6) or Dashboard >> Structure >> Menus (Drupal 7). You can also add this link to any menu you want (click "add menu item," and enter "book" in the "path" field.)

Note that the "books" link takes users to your books. The "book navigation" block helps users move around inside your books.


Here are the common operations with books. You can:

  • create a new book: create a new book page create content >> book page (Drupal 5 and 6) or content >> add content >> book page (Drupal 7) with a title for the new book, then select <create new book> in the Book Outline section, then publish the page.
  • create new book pages: create content >> book page (Drupal 5 and 6) or content >> add content >> book page (Drupal 7).
  • administer individual books (choose a published book from list): administer >> content >> books (Drupal 5 and 6) or Content >> Books (Drupal 7).
  • set workflow and other global book settings at administer >> content >> content types >> book page (Drupal 5 an 6) or Dashboard >> Structure >> Content types >> Book page >> Edit.
  • enable the book navigation block: administer >> site building >> blocks (Drupal 5 and 6) or Dashboard >> Structure >> Blocks (Drupal 7).
  • control who can create, edit, and maintain book pages at administer >> access control or administer >> user management >> permissions (Drupal 5 and 6) or Dashboard >> People >> Permissions (Drupal 7).

Confusing behaviour

If you create a new book and choose to not publish it, the book will not appear in the list of books and you will not have the option to add child pages to your first book page. Effectively you have to publish the first page to start adding child pages. If you want to create a book structure without making it public until it is edited and vetted, use a role based access module or similar to let you publish the book, so you can add child pages, but hide it from the public until ready for publication.

Child pages and child page menu entries are listed alphabetically. If you reorder the child pages using weights, the menu entries do not change to the same order. You have to separately reorder the menu entries.

Looking for support? Visit the forums, or join #drupal-support in IRC.


aifischer’s picture

Is there any way to output an entire book to print? Or is it single page only?

spidersilk’s picture

In Drupal 6, at least, there's a "Printer-friendly version" link at the bottom of the content area on each book page, which will take you to a page with all the content of that page and any subpages it may have, all in one document with things like the navigation menus stripped out.

So if you click that link on the top-level page of a book, you will get the whole book in one document, ready to print.

Not sure if this applies to earlier versions, though.

sanket akadkar’s picture

how to make modules in drupal 7.x version??????

rex_the_first’s picture


I have three books, A, B, C. With the book navigation block how do I alter the order I can change:




W.M.’s picture

I wonder about the same... Is it possible?!

jsharp’s picture

Two ways I know of (using 6.14 here). The easiest, go to admin/content/book and click on the "edit order and titles" link for the book you want. It will give you a drag n drop equivalent to the menu editing feature, allowing you to reorder and manage nesting. Btw, you can also get to this page from a book or book page by clicking on the Outline tab, and then the "reorder and entire book" link.

The second way is from a book page, click on the Outline tab. From there you simply adjust the weight and/or the parent. The trouble with this second approach is you don't get the holistic view of the outline, so the first approach is much more productive.

Note that to reach these pages you must have the permission: book module -> administer book outlines

spidersilk’s picture

I think what that person was asking was how to change the order of the actual books shown in the book navigation block, not the sections within an individual book. admin/content/book doesn't let you do that, unfortunately. The only way I've ever found is to change the names of the books so that they stack differently in alphabetical order.

chrisparsons’s picture

It's a little extra weight, but you could use Views to display a block of all books, and nodequeue to set custom sorting of those nodes.

ChanceFound’s picture

Is there a way, to disable users from editing other user's books/pages?

I like that this feature automatically creates a list of the inner chapters/pages... But I think I would prefer to disable the capability for users to add pages to other's work.

Thank you!

njathan’s picture

I am looking for this too... the first para says " can allow or disallow collaboration, to whatever extent you want". Nowhere is it mentioned how to do so...

njathan’s picture

Book Manager module does it!

DrakeGuan’s picture

I wonder how to customize or theme a book page? Is it possible to have per-book-page theming?

-- Drake

Mershin’s picture

Well a book page is just a node in essence.

If you want to theme at the page level for just that book page...

Copy page.tpl.php as page-node-nid.tpl.php

That works for any node regardless of the content type.

Also I've done page-story.tpl.php to provide a theme at the content type level, so perhaps page-book.tpl.php would work. I haven't tried it.

mnm_mike’s picture

I want them to be able to add to the book but want to force every level and child levels to be alphabetic. This would require the weight to be hidden from the book outline when they create content.


svanleent’s picture

How do I set the stylesheet of the exported version of the book. The default version used by the book module itself is not at all enough for my users to be able to print the book (or part of the book) in any proper fashion.

Also, how does it work with theme-defined classes?

ptyler’s picture

Hi, svanleent:

Were you ever able to figure out the answer to this question? I have the same question: How to style the .pdf output so it's different from the standard Drupal book print style?

Or anyone else have any insight?


W.M.’s picture

I want to delete all the already created books but not the nodes associated with them. I have some book pages that are (parent) books at the same time. I want to remove all book associations so the field "Book" under node/nid/edit would show .

Here what I have done:

I went to the table: "book" inside my database (by phpmyadmin) and deleted these entries of particular nodes:


That to say I removed lines like this:

mlid , nid , bid
312 14 14

This worked and the book association got removed. But I am not sure if it is safe to do it this way?! Any ideas?

I removed also some entries like "book-toc-14" under "menu-links" so the links are also removed.

Any other db modification I need to do?! What do you think?!

photocurio’s picture

Question from a newbie: I am not sure if I have this right, but I make a book page for my drupal site, and made a primary link to it. The book page consists on a title, whatever static content I put in it, and below that a list of links to its stories. Can I get more (fresh) content on it than just a list of links?

What I want is to configure my book page like the front page, with teasers of all the stories published to it. Is this possible?

W.M.’s picture

You need to have a look at these modules:


They will allow alternative and additional ways of displaying the content. You may also index the content by specifying taxonomy terms.

wolftmc’s picture

Hello, I have looked all over the forum for any hints but, does anyone know how to get the book printer-friendly link to open in a new browser window? I assume I need to add target="_blank" in the href but for the life of me I can find were it actually calls it. Any hints would be fantastic, thanks for your time!

chrisparsons’s picture

Use something like the following - it's dependent on the URL, but I believe export/html is the stock URL alias for it.

$(document).ready(function() {
    $("a[href*='export/html']").click( function() { $(this).attr('href') );
        return false;
wolftmc’s picture

Thanks for the reply! Yeah looks great I will give it a try. Do you happen to know which location to place it in? modules\book\book-export-html.tpl.php, or modules\book\book-node-export-html.tpl.php, or some other place?

chrisparsons’s picture

You'll actually want to put it in your theme folder. If you already have a javascript include in your theme, then you can add it there.

In addition, if you're going to edit any of the theme files in the modules folder, copy them into your theme folder - Drupal is smart enough to know that they want to use the version in your theme folder, and not the one in your module folder. That way, all of your edits are contained in the sites folder, and backup is way easier.

tetranz’s picture

I must be missing something obvious. These instructions say "The Book module automatically generates a contents page for each book". Where do I see the contents page?

I have the navigation block (like a menu) working nicely but I can't find anything that looks like a separate contents page.

oerisen’s picture

Here is a solution that is based on

Just create a new book node that titled with contents and insert this code in to the body of the book as php code

//use the below block  if you need generate content below the current node
$nid = $book_top_page; 
if (arg(0) == 'node' && is_numeric(arg(1))) {
  $nid = arg(1);
  $node = node_load($nid);
  if (!$node->book) {
    $nid = $book_top_page;
//if you want to list the contents of the entire book use below line and change the number with the book's initial node number
$node = node_load($nid);
$tree = book_menu_subtree_data($node->book);
// There should only be one element at the top level.
$data = array_shift($tree);
$block['subject'] = theme('book_title_link', $data['link']);
$block['content'] = '
'; $block['content'] .= ($data['below']) ? menu_tree_output($data['below']) : ''; $block['content'] .= '
'; print $block['content'];
bdupls’s picture

I would love to be able to grab the books menu [called in the blocks section Book navigation] and handle the menu items in views. Then I could manipulate the view and most importantly create individual book menus to appear on their own individual page.

Hand coding a new version of book-navigation provides some flexibility but not all.

robxool’s picture

Hello folks! well the problem is that I only use the book module for make a structured tree navigation but I don´t want to see the links autogenerated at the botton... How can I do? can I use another navigation tree with my customized menus (Ex:Start>>Investigation>>Projects)? Thanks a lot. Rob

ercder’s picture

I just use CSS to hide the autogenerated navigation:

.book-navigation {
icanko’s picture

1) Go to modules\book directory and copy the file book-navigation.tpl.php to your theme directory
2) Open the copied file and remove the lines you don't want.

If you want all the navigation removed you can simply create a blank text file called book-navigation.tpl.php and put it in your theme

dazzzler’s picture

i have a lot of galleries based on different kinds of categories like tea gardens, hills etc. and have blocks with different descriptions for each category. My query is how do i get the right block to display with the right galleries and pages?
I think ill need a specific php snippet for this?

feltwebel’s picture

Hi. Don't know why, but when I make the file in theme directory, it has no effect in the site.

So I made a blank text file in module directory and this works.

Daniel Norton’s picture

[ blanked by author ]

ukrdrupal’s picture

Thank you for all of the hard work on the book module for Drupal. It is AMAZING what you can do. I am using the most current Drupal 6 version and am building a book for a site. The lists UL/LI look great most of the way down, until I get to the actual chapters listed for the individual books. Basically, I have two main parts to the book, each of which breaks up into sections and then in those sections are books. In the books can be many chapters. So, on the book pages, with all of the child pages listed, the list can get very long. I was thinking it would be nice to wrap the lists into, say, 3 columns, side by side horizontally.

I came across the following article on this subject:

Some people have made reference - here on - to this article. It's a good one.

I noticed the following paragraph there:

Numbering split lists with script

While we’re on the subject of content-generation, I’ll add in passing that the items in split lists can also be “physically” numbered contiguously by a script that inserts numbers into the item values, either server-side during page generation or client-side upon page-load.

A server-side script such as ASP or PHP, reading list item values from a database or a flat file, can prepend a consecutive number to each item as it’s written to the page. It can also divide the total number of list items by the desired number of columns and generate the sub-list markup. The task of arranging the sub-lists side by side can be left to a static stylesheet.

A client-side script such as JavaScript can locate the sub-lists using ids or classes and iterate through the items, inserting item numbers, suppressing normal ordered list numbering, and splitting one long list into sub-lists as needed.

It should go without saying (but doesn’t) that any solution that uses client-side scripting should gracefully degrade in browsers with scripting turned off.

I did do quite a bit of googling with various keywords and even trying to add "" to see if I could come up with an exact match of what I was thinking and what I need. Some references sound related, but not totally. So, I decided to post here. I hope it is okay. If not, please feel free to move it to a more appropriate place. Just let me know where it got moved! :-)

It would be good - whatever solution is arrived at - if the module developed (or the patch) would dynamically calculate how many list items there are and distribute equally the same number of list items in each column. If this was a module and there could be a setting for two, three or four columns (like as a radio button choice), that would be amazing.

I am just fleshing out some ideas here, but would love to see others chime in on this. If anyone reads this comment and knows of something already in existence that would do the job, please make sure to reply here with a link! Many thanks!

atolson’s picture

I'm still gaining experience with Drupal, but I would guess that the multicolumn solution you're looking for will be found in theming rather than a module. If I understand the options correctly, I believe you can find an implementation of multicolumn lists in Acquia's Acquia Marina theme. Within the Acquia Marina Skinr styles, there is an option for multicolumn lists.

ukrdrupal’s picture

I also thought it may be a theme implementation. But, I don't see where you are talking about, in the configuration for Acquia's Acquia Marina theme. I am using the theme right now, so I know what you are talking about as far as the theme. I do see a lot of setting choices, but I don't see an option for multi-column lists. Again, thank you for replying! If you can point me a little more precisely, that would be great!!

ukrdrupal’s picture

Does anyone else have any ideas as to how I can accomplish this? Maybe some code that would work in my template? Any help or direction on this is appreciated!!

james.haley91’s picture


Is there anyway to convert a large file (text, html) into a book? I know about paging and pagination modules, but I want to create a book rather than paginate a large content.


ukrdrupal’s picture

I can suggest a half-manual and half-automated way.


Take your large html file and break it up into separate smaller html files. Depending on the structure of the book you want to make, you may need to make sub-folders and place content down into those folders.


Use this module and follow the instructions to import your content into your Drupal site:

I used the import_html module and it worked great. A couple things are definitely necessary though. You need PHP compiled with XSL. Not a big deal, but depending on your set-up, could be a pain. You may need to talk to your hosting company to get it compiled with XSL, if it is not. Do a phpinfo on your server to find out if it is there or not. You'll see a whole section in the phpinfo for XSL. Should look something like:

XSL 	enabled
libxslt Version 	1.1.26
libxslt compiled against libxml Version 	2.7.6
EXSLT 	enabled
libexslt Version 	1.1.26 
james.haley91’s picture

Thanks for your reply. Actually, we have more than 200 large documents, and unfortunately doing them even partially manual wouldn't work at all. I did find Html2Book module which has the concept, but unfortunately in practice it doesn't work as well as I want. But I think in comparison to what you go through, if you need this functionality, it might not be a bad idea to give it a try; it didn't work for me since I'm looking for something even more automated.

ukrdrupal’s picture

I feel your pain, but I think that some manual work is needed in such a project. What I personally did was compiled my own CSV database, which I used with an html compiler program to then generate (spit out) all of the individual HTML pages of the book. Then I did some reorganization of the files into more of a folder structure. I did actually start from many LONG html pages (as my starting point), not unlike what you are attempting to do. Basically, I took another CSV DB file, opened it up in Excel, deleted data from the column of the other books' content (not the whole column, just the data in the cells), then pasted in my books and chapters, HTML file by HTML file. After that, I did some tweaking, to line things up properly, and when I was done, I compiled it with the html compiler program. Then, with the HTML import module with Drupal, it was easy. The DB I compiled is completely original with me and the site will be unlike any other. Pretty cool stuff.

james.haley91’s picture

Yeah, I think it would work specially with using Html Import module. I'll give that a try. Thanks for sharing your idea.

phasma’s picture


I was just wondering, whether there is a module that would allow authenticated users to apply custom css elements for any of their books. Theme_Hues is pretty much what I had in mind, however, it works on a per user basis. I am looking for something that allows users to style any of their books with different css. Is there such a module?

tchurch’s picture

I'm looking at moving/separating the navigation parts so that the tree (of child pages) is at the bottom and the previous/next links are at the top of the page.

How can I do this?

skohrs’s picture

I actually wanted a duplicate navigation menu at the top of the book page, as well as the bottom. I solved this problem, in Drupal 7, by copying the core node.tpl.php to node--book.tpl.php into my theme. I then added the following line, where I wanted the top navigation menu to be located:

print render($content['book_navigation']['#markup']);

kevin-bcr’s picture

I'm using Drupal 7. As I am new to Drupal, I am a little confused. Please clarify what you mean by:

copying the core node.tpl.php to node--book.tpl.php into my theme

Is "node--book.tpl.php" the name of a new file or, is "node" a folder and "book.tpl.php" either a new or an existing file? I see a book-navigation.tpl.php file in the modules/book folder. Is this the file that is being printed in your "print render($content['book_navigation']['#markup'])" statement?

Thank you!

stopitnow’s picture

Is there a way to export an entire book to a text file for purposes of editing? (pdf won't work).

fernandolozano’s picture

Child pages and child page menu entries are listed alphabetically and by weight by default. Would there be anyway to change this to include Posted Date?

I guess the order would be something like:

- Posted Date
- Weight
- Title

I've been trying to alter the module and the queries but can't seem to get it.

Thanks in advance.

kevin-bcr’s picture

Thanks in advance for help.

My site structure is based around a rather extensive hierarchal taxonomy. I then use Taxonomy Menu to generate the menu that I use as the main navigation for my site (using Superfish menus).

I would like the lower-level leaf nodes of this Taxonomy Menu to point to, not to Books in general, but to a specific book (I plan to have, say, about 100 or so books).

Is this possible? Maybe I would have to abandon the Taxonomy Menu since the menu would be re-generated periodically as I add levels to my taxonomy. Can I even link from a menu (Taxonomy menu or other) directly to one, particular book? How?

Thank you!

efpapado’s picture

Does anybody know if it is possible to flip through a book's pages with the page-flip effect, based on jQuery (NOT flash)?

I mean something like : > FlippingBook HTML Edition Demo (found on google, by searching "book flip demo")

I checked but it is for images only, I would like to load html/text into the pages...

Thanks in advance!

soberdev’s picture

Without Flash? It will be hard to have the same look and performance.. maybe in the future when HTML5 will be more advanced.

For now I use for flash pageflip, cuz it's pretty secure solution.
Btw, the're working on HTML5 version as far as I know.

leiyduo’s picture

Propabably the page flip effect book can only be created based on flash, yet I still feel it's good and acceptable to see them on my PC. The page flip book made by the Kvisoft flipbook maker is fantastic!

RevChuck’s picture

One of my clients is using this plug-in for a website where he is writing lots of small chapters. We were trying to re-order the chapters because the ordering is happening correctly, but then got an error message that reads:

"Fatal error: Out of memory (allocated 31457280) (tried to allocate 263269 bytes) in /homepages/34/d327722386/htdocs/wsb4775578102/includes/ on line 1367"

All of our effort to clear caches, increase memory and other things have failed. The ISP that hosts this site has been reported as having similar problems with memory usage for Drupal modules. We don't want to pay for more memory just to solve this problem, so we are wondering if there are some work-arounds?

Cebra’s picture

I want to change the book layout in Drupal 7. I tried everything, but nothing changed.

First of all, I want to get rid of the navigation in my book-node, if there are subpages. Secondary, I want to get my own content-type, based on the book-type.

Is it possible? If yes, how?

Sorry, but the ocumentation of the book-module isn't really helpful. :-)

notslad’s picture

I'm having trouble creating a book with different page types. Each of the pages need to have fields that are specific to that page type.

Adding fields to the Book Page content type will add the custom fields to all of the book pages.

Making another content type (eg. "Crafts") a child of the Book will add a link in the book menu block, but as soon as I navigate to that page all of the navigational aides for the book disappear -- apparently there is something specific to the "Book Page" content type that the custom content type lacks.

Any suggestions on how I can make different book pages maintain a field list unique to that "book page type"?

=== UPDATE ===

Nevermind.. I finally found the options allowing the functionality I described above.

You can tell the Book module to allow arbitrary content types to be book pages under Modules : Book : Configure

If you're using the Book navigation you will also have to configure it to recognize the new book page content types using Structure : Blocks : Book navigation : Configure.

Thanks for the great module! Now that I understand it better this will suit my needs for this project perfectly!

Steph.G.Lindsay’s picture

Your question is one I would have asked soon, and your update is the answer I will need. Thank you so much!

ranzwertig’s picture

Is it possible to show the unpublished Book nodes in the book reorder view?

deastlack’s picture

Using Drupal 7.9

I have a client which wants to avoid submenu clutter but want to provide quick access to all pages depending from a main menu bar item. Using the book module this is relatively easy. So Far no problem.

How ever several menu items to be referenced are page displays from views. Can a view display be included in a Book?

deastlack’s picture

Using panels and creating a variant in the node template, I ma ale to add a block display to the variant. have to add selection rules to the variant stipulating node type and path and specify a page display in the block display of the view if you include a more link in the block display.

Paulson’s picture

If anyone is searching for tool for page flip from pdf files i recommend typing in pressmo. Very useful tools for ebooks, if you create document, the ebook pdf u can then use pressmo for page flip effect and it's very effective.

marto45’s picture

you can write something more about this pressmo? I read on their website that they also create digital booklet. Do you know how it works? What do I do? I saw that they wrote about interactive directory - what is it and how does it work? The tool itself seems to be very simple and effective, right? Please write something more:)

jimclegg’s picture

I am using D7 and I am trying to use the book module to display through a panel but to no avail. I am however, able to display a book using blocks.

I am able to add the book navigation into a pane by choosing Add content - Node - Book navigation. After selecting Book navigation, it shows up added to the pane as "Node being viewed" book navigation. Then I press Update and save and I get the message that the page has been updated and saved.
I then open the page/ node and it displays the content from the other panes but the book navigation does not display.

Does anyone have any suggestions on what I could or should do to make the book display in a panel and not just in a block?

natsnock’s picture

I've been trying to make a book page (a child page, already added to the book, but empty) display some auto-content (generated with Views) - by adding a Views page and setting the path of the Views page to use the path of the book node. The auto-content gets published, but the node is no longer part of the book - the book navigation menu + block disappear. Any help on this is more than welcome...

Ashford’s picture

The way I do it.

  1. Create the View as a block display.
  2. Add a Child Page in the regular method with just an intro paragraph.
  3. Blocks configure to display the block on only that page.
vigneshbabu’s picture


I added Jquery color picker as a content type to my book pages. The reason behind this is when the admin selects a color on this color picker it should apply the selected color to the .book-block menu -list item as a background color. can someone guide me with this? I am finding it hard to identify from where to begin with

Thanks in advance


Andrés Chandía’s picture

1. Create a book in language1
2. Create a page to be a child page.
3. At the book outline there is no book.
4. Change the language of the book to language neutral.
5. Now there is a book at the book outline.

The same happens if I add a page to an already childpage that is in language1.

Any help to solve this?

Thanks in advance.


captainsiberia’s picture

I'm currently using "Book" to publish my webcomic. For the most part everything works fine, but I need navigation options for "First Page", "Last Page" (Most Recent). I also need to be able to link people directly to the last page in the "Book". Does anyone know how I can pull this off? Thanks.

Andrés Chandía’s picture

I'm not sure, but try Book helper module


atero’s picture

Hi captainsiberia,
I still have the same problem as you mentioned - one year ago .

Do you have found a solution for that problem in the meantime?
It would realy be very nice and very helpful!

edslot’s picture

I've created a book and all works very well. It's a book with several chapters en in every chapter a numer of articles.
When I do a search on the site it finds all the correct book/articles.

But what I like to have is the parent title in the search results (like the one you see in the breadcrumb).
Is that possible?

webmaster-eddie’s picture

When I occasionally add content (like an article - NOT a book page) and mistakenly create a new book for it, or put it in an existing book ... and then later I want to remove the content from the book? I would like to see one additional option in the dropdown list for Book when editing that content: an option to "Remove from book". The only options that exist allow one to put the content into another book, but there is no direct and simpl way to remove the content from the book.

Thank you. Nice core module.

tordeu’s picture

I admit that there should be a link to remove a page from the book in the form where you reorder the pages, but you actually already can remove a page from a book.

On the site navigate to the page of the book. Click on the "Outline" tab. On the bottom there is a button named "Remove from book outline". That will remove the page from the book and all pages below will move up. So, imagine you have the following structure:

  1. Chapter 1
  2. Chapter 2
    1. Chapter 2.1
      1. Chapter 2.1.1
        1. Chapter
      2. Chapter 2.1.2
    2. Chapter 3
      1. Chapter 3.1

If you remove 2.1 from the book, then everything below 2.1 will move one level up and be below 2, like this:

  1. Chapter 1
  2. Chapter 2
    1. Chapter 2.1.1
      1. Chapter
    2. Chapter 2.1.2
  3. Chapter 3
    1. Chapter 3.1
psychobyte’s picture


I noticed that pages created in a book are assigned to all revisions of a book. So reverting after a page was added preserves any added pages. Are there any plans to address this issue?

Is there a module or way of assiging pages to their proper revisions?


Aparato’s picture

I've found that on a book page where I have an image that extends below the page text then this image drops into the book navigation pushing the previous/up/next links to one side causing the navigation to break over 2 lines!

Easy fix, in css add ".book-navigation {clear:both;}"

This is obviously a problem but how do you raise a bug report on a core item?


arun.pitchai’s picture


I'm using Book module for the particular content-type in D7. Basically book module can be configured only for the single or additional one more article (ie: content-type). Is there any specific module or possible in drupal 7 to in-corporate two or more books for single content type ?

maritimefist’s picture

Is there a simple &/or easy way to remove the link from the Book Navigation Block Title? That is, I just want the menu title to be a plain heading without an active link. Every token I could think to try is apparently invalid. Any help would be appreciated.

maritimefist’s picture

While I was hoping for an easy fix with a token or something across the board, I have found that Book Block can achieve the same thing for each book while overriding the block title. If there is a way to do this without an extra module or creating a bunch of different blocks, I would still be interested in such a solution.

solange_sari’s picture

I got the following error message when validating the HTML pages rendered by the Book Module.

"Line 15, Column 71: Bad value up for attribute rel on element link: Not an absolute IRI. The string up is not a registered keyword or absolute URL."

The value “up” is no longer available in the tag link for HTML5 (

I modified the book.module file replacing “up” by “ stylesheet”, and it worked.

Please have a look on this.


solange_sari’s picture

How can I set permission for Edit Book Outline

Admin role has permission to view, edit and remove the outline.
I want to give the same permission to a Editor role.

Thanks in advance.

tomjohnson1492’s picture

Some of my page names are really long. I would like to specify a different title in the book module table of contents (TOC). How can I enter a TOC specific title?

Matroschker’s picture

With the book helper module you can specify a seperate menu link beside the node title.
I've never tested this and I don't know if this works for multi-language sites too.


kashanmasud’s picture

When the book module creates the auto generated book outline there is no title tag which makes the outline non 508 compliant. Is there a way to add the title tag to the outline?



So when we open the book page Chapter1 the subchapter1 book page should have a title added so that when I do a mouse hover the title appears automatically. Thanks in advance.

dbourrion’s picture

I'm using (on drupal6) book module and views on my website to get, under the parent node, the child nodes from the book (see for example and scroll down)

Is there a way to hide under the parent node, the navigation links to it's child ?
Thanks for help

dbourrion’s picture

I finally use that way : commenting print $tree; in the book-navigation.tpl.php default file.

Closing, so.


gferrie’s picture

Can anyone tell me how well books created in version 6.x convert to 7.x? thanks very much.

Matroschker’s picture

I found this articel, but it is to much development for me. I can't understand if it is so complicated to migrate for a standard module...

refer to


cdavidyoung’s picture

I was getting an error in line 63 of simple_table_of_contents.module: unknown offset: 0. I fixed it as follows:

 * Implements hook_node_view().
function simple_table_of_contents_node_view($node, $view_mode, $langcode) {
  // Only add a table of contents to nodes with a body
  if (   (isset($node->content['body']))
      && (isset($node->content['body'][0]))){
landline’s picture

If I enable each entry in my book to "Provide a menu link", that link will only be displayed if the entry is visible in the nav tree. How can I get the entire structure to be available in the menu, and not just when it appears in the nav tree?’s picture

I have a book set-up in Open Atrium and on the main page of the book is the automatically generated top level pages table of contents. Is there a way to have the child pages for each of those top level pages show in the table of contents? I would like them to show up underneath the main pages and have them indented slightly.

Sorry if this is an easy question, I'm a bit of a newbie to all of this.


deice’s picture

when trying add page 10 to a book using the book module in 7.32 it gives me this

The parent page in the book. The maximum depth for a book and all child pages is 9. Some pages in the selected book may not be available as parents if selecting them would exceed this limit.

patoregon’s picture

I wish I could delete the post I submitted, but I don't see that option. I used Panels to modify the view of my book module pages, and lost the book navigation. My question was how to add it in a bottom panel, and of course the answer was right there, listed as Book Navigation. Works beautifully.

markfien’s picture

We wish to have two kinds of child pages.

  1. The normal child page
  2. A child page with 3 fields (2 dates, 1 status)

We do not want this on the top level book page.

The reason for this is we have one book that requires dates on every policy and our other books are simply books.

Is there a way to accomplish having different style child pages.

TIA, Mark