Usare pagine book sulla homepage e mostrare i link
Sapete se e come è possibile far mostrare i link di una pagina book (ovvero i collegamenti alle pagine figlie) quando promossa sulla home page?
Attualmente mi mostra tutto il contenuto della pagina, ma i link vengono nascosti.
Grazie in anticipo, Rocco
Risposte
Hai sollevato un bel
Hai sollevato un bel problema... in realtà è una cosa poco utilizzata in quanto in homepage solitamente agli utenti interessa vedere solo il titolo e parte del contenuto, poi se sono interessati visitano l'intero contenuto, che essendo una pagina di un libro presenta i links alle altre pagine.
Se vuoi comunque in una pagina padre mostrare i links alle sottopagine dovresti usare una cosa di questo tipo
<?php
$node = node_load($nid);
print theme_book_navigation($node);
?>
Una soluzione carina
Grazie molto per la dritta, tuttavia ho dovuto lavorare un pò sulla cosa.
Ecco cosa ho inserito in coda alla pagina:
<?php
$n_nodo=9;
if (!(is_numeric(arg(1)))) // -> Home Page!
{
$nid = array('nid' => $n_nodo);
$node = node_load($nid);
//print theme_book_navigation2($node);
$path = book_location($node);
// Construct the breadcrumb:
$node->breadcrumb = array(); // Overwrite the trail with a book trail.
foreach ($path as $level) {
$node->breadcrumb[] = array('path' => 'node/'. $level->nid, 'title' => $level->title);
}
$node->breadcrumb[] = array('path' => 'node/'. $node->nid);
if ($node->nid) {
$output .= '<div class="book">';
if ($tree = book_tree($node->nid)) {
$output .= '<div class="tree">'. $tree .'</div>';
}
}
print $output;
}
?>
In questo modo l'elenco dei link appare solo sulla homepage, evitando brutti doppioni.
Volendo si potrebbe proporre alla comunity di drupal di inserire nel file
modules/book.module
una funzione di questo tipo:
<?php
function print_book_navigation($node_number) {
if (!(is_numeric(arg(1)))) // -> Home Page!
{
$nid = array('nid' => $node_number);
$node = node_load($nid);
//print theme_book_navigation2($node);
$path = book_location($node);
// Construct the breadcrumb:
$node->breadcrumb = array(); // Overwrite the trail with a book trail.
foreach ($path as $level) {
$node->breadcrumb[] = array('path' => 'node/'. $level->nid, 'title' => $level->title);
}
$node->breadcrumb[] = array('path' => 'node/'. $node->nid);
if ($node->nid) {
$output .= '<div class="book">';
if ($tree = book_tree($node->nid)) {
$output .= '<div class="tree">'. $tree .'</div>';
}
}
return $output;
}
}
?>
Ancora grazie e saluti,
Rocco