Nawigacja w książkach po staremu

Wygląd (a przy tym użyteczność) menu nawigacyjnych książek nieco się zmienił w Drupalu 4.7-beta5. Moim zdaniem na gorsze. Oto jak przywrócić wygląd zbliżony do znanego ze starszych wersji.

Poniższy przykład dotyczy skórek wykorzystujących PHPTemplate.

Ten kod powinien trafić do pliku template.php skórki:

function phptemplate_book_navigation($node) {
$output = '';
if ($node->nid) {
$output .= '<div class="book-navigation">';
if ($tree = book_tree($node->nid)) {
$output .= '<div class="tree">'. $tree .'</div>';
}
if ($prev = book_prev($node)) {
drupal_add_link(array('rel' => 'prev', 'href' => url('node/'. $prev->nid)));
$links .= '<div class="prev">';
$links .= l(t('previous'), 'node/'. $prev->nid, array('title' => t('View the previous page.')));
$links .= '</div>';
$titles .= '<div class="prev">'. check_plain($prev->title) .'</div>';
}
else {
$links .= '<div class="prev"> </div>';
}
if ($next = book_next($node)) {
drupal_add_link(array('rel' => 'next', 'href' => url('node/'. $next->nid)));
$links .= '<div class="next">';
$links .= l(t('next'), 'node/'. $next->nid, array('title' => t('View the next page.')));
$links .= '</div>';
$titles .= '<div class="next">'. check_plain($next->title) .'</div>';
}
else {
$links .= '<div class="next"> </div>';
}
if ($node->parent) {
drupal_add_link(array('rel' => 'index', 'href' => url('node/'. $node->parent)));
$links .= '<div class="up">';
$links .= l(t('up'), 'node/'. $node->parent, array('title' => t('View this page\'s parent section.')));
$links .= '</div>';
}
$output .= '<div class="nav">';
$output .= ' <div class="links">'. $links .'</div>';
$output .= ' <div class="titles">'. $titles .'</div>';
$output .= '</div>';
$output .= '</div>';
}
return $output;
}

Przykład ostylowania:

.book-navigation {
clear: both;
}
.book-navigation ul li {
margin-top: 0;
}
.book-navigation .nav {
border-top: 1px solid #888;
border-bottom: 1px solid #888;
padding-bottom: 3em;
padding-top: 1em;
clear: both;
}
.book-navigation .nav .links {
clear: both;
}
.book-navigation .nav .titles {
clear: both;
}
.book-navigation .nav .prev {
float: left;
text-align: left;
width: 45%;
}
.book-navigation .nav .next {
float: right;
text-align: right;
width: 45%;
}
.book-navigation .nav .up {
text-align: center;
}