Ma question concerne comment montrer l'arborescence de navigation complète dans un bloc (Drupal 8)
Grâce à @oknate nous pouvons avoir un bloc de navigation de livres avec le livre de niveau supérieur montrant , mais j'ai besoin de tout l'arbre. (Pensez Table des matières)
Tous les exemples de follage supposent que vous êtes la page principale d'un livre de 3 niveaux de niveau.
Aussi, j'ai un module de travail à https://github.com/petergus/alt-book-nav.git
Affichage du livre (niveau supérieur) du bloc de navigation du livre est effectué en remplaçant les éléments suivants dans Livre/Src/Plugin/Block/Booknavigationblock.php (avec un module personnalisé bien sûr)
// Only show the block if the user has view access for the top-level node.
if ($nid) {
$tree = $this->bookManager->bookTreeAllData($node->book['bid'], $node->book);
// There should only be one element at the top level.
$data = array_shift($tree);
$below = $this->bookManager->bookTreeOutput($data['below']);
if (!empty($below)) {
return $below;
}
}
avec
if ($nid) {
$tree = $this->bookManager->bookTreeAllData($node->book['bid'], $node->book);
return $this->bookManager->bookTreeOutput($tree);
}
Cela ne montre que le niveau de niveau supérieur et de l'enfant, je souhaite pouvoir visualiser l'arbre complet de n'importe quelle page.
Je suis complètement nouveau avec drupal 8 et pas très pratique avec PHP Donc tout ce que je pouvais découvrir était que
$tree = $this->bookManager->bookTreeAllData($node->book['bid'], $node->book);
kint($tree);
ne renvoie que le nom du livre et le premier niveau et
$tree = $this->bookManager->bookTreeAllData($node->book['bid']);
kint($tree);
(sans le $node->book
) renvoie les niveaux de multiples, c'est-à-dire des tableaux multiples "ci-dessous".
Je ne sais pas comment aller plus loin en tirant cette information dans le bloc, est-ce que quelqu'un?
Comme mentionné ci-dessus, j'ai le module que @oknate a suggéré à https://github.com/petergus/alt-book-nav.git
Appréciant grandement toute aide et en espérant que ces questions sert la communauté.
Il fait que j'ai déjà posté la réponse dans la question, mais cela l'a manqué pendant les tests!
Supprimer , $node->book
De $tree = $this->bookManager->bookTreeAllData($node->book['bid'], $node->book);
imprimait l'intégralité de l'arbre expansé.
Si quelqu'un a le temps de ajoutez une option de formulaire d'utilisateur au module Cela pourrait éventuellement bénéficier de nombreuses et obtenir sur le répétition DRUPAL.ORG.