Ajouter plusieurs types de contenu dans un livre

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour à tous,

Tout nouvellement membre de la communauté et essayant de me dépatouiller au mieux avec drupal de mon côté et grâce à votre aide, j'ai une première question à vous poser, si ça ne vous dérange pas.

Pour le site que j'ai à développer avec Drupal, je dois passer par la construction d'un livre. J'ai bien compris qu'on pouvait ajouter autant de types de contenu avec le module CCK, et qu'un même pouvait "abriter" tous ces types de contenu. Seulement, il y a plusieurs points qui me dérangent :

  • J'aimerai que pour le type de contenu "Article" par exemple, le lien "Ajouter une page enfant" n'apparaisse plus en dessous de l'article.

  • J'aimerai que pour le type de contenu "Dossier" par exemple, il y ait plusieurs liens : "Ajouter un article", "Ajouter une recette", "Ajouter un dossier", par exemple.

L'idéal serait même que pour chaque sous-partie du livre, je puisse définir les liens visibles. Voici un exemple de ce que j'ai dans la tête :

1 - Mon livre s'appelle "Explications à propos de drupal".

2 - Au niveau inférieur j'ai créé trois contenus de type "Dossier" (uniquement un titre) que j'ai créé qui se nomment "Thèmes", "Modules" et "Documentation".

3 - J'ai créé 3 autres types de contenu comprenant chacun des champs spécifiques : un type de contenu "Thèmes", un type de contenu "Modules" et un type de contenu "Documentation".

J'aimerai par exemple, que lorsque j'accède au dossier Thèmes, j'ai 2 liens : "Ajouter un thèmes" et "Ajouter un dossier". De même, lorsque j'accède au dossier Modules, j'aimerais avoir 2 liens : "Ajouter un module" et "Ajouter un dossier".

Alors je ne sais pas trop vers quoi m'orienter : est-ce que c'est directement paramétrable avec l'interface d'administration de drupal (mais je ne pense pas), est-ce que l'on doit passer par un module qui gère ça tout seul, ou est-ce qu'on doit directement modifier le thèmes et les hook de thèmes ?
Peut-être que, tout simplement, il ne faut pas se servir d'un livre, mais d'autre chose... ?

En espérant avoir de vos nouvelles rapidement, car ici, je m'arrache les cheveux :-( ... Merci par avance en tout cas, je m'en remet à vous ;-)

Paul

Version de Drupal : 

Bon, je me suis déjà penché sur la question depuis tout à l'heure, et voici où j'en suis.

Dans le fichier includes/theme.inc, il y a une fonction theme_links() que je me suis "amusé" à modifier. Cette fonction reçoit en argument une variable php (un tableau) nommée $links. Il semblerait que tous les liens de la page soient contenus dans cette variable, et que la fonction theme_links() permette le codage XHTML des liens.

Pour ma page drupal, par exemple, la fonction est appelée 3 fois : une fois pour les liens primaires, une fois pour les liens secondaires, et une fois pour les liens "inline" (en bas des contenus du livre : "Ajouter une page enfant", "Imprimer", etc.)

Je ne sais pas si c'est correct de modifier la fonction directement (moi, ça me parait vraiment bourrin et pas au bon endroit), mais j'ai pu faire une requête SQL pour connaitre le type de contenu en bas duquel le lien était, et à partir de là, poser une condition et afficher ou non le lien.

Comme cette solution ne me semble pas très adéquate, mais que je n'ai aucune idée de comment procéder sinon, je m'en remets encore une fois à vos bon esprits ;-) Je cherche en fait l'endroit où la variable $links est créée et renseignée... Quelqu'un pourrait-il fournir un petit coup de pouce ?

Merci par avance,

Paul