questions à propos des livres (structure, création, gestion et génération)

Catégories:

J’aimerais avoir des informations que je n’ai pas pu trouver seul.
Tout d’abord dans quel table sont stockée le contenu des pages de livre, dans la table node avec le type book, je trouve bien les informations sur les pages de livre mais que leur titre, mais je cherche le contenu des pages.

J’ai besoin pour mon stage de créer un script qui créé un livre avec à chaque fois contenant 8 pages, et pour chaque page générer un contenu par default, pour créer un livre il suffit de créer une entrée dans la table node avec le type book pour créer livre livre ensuite recréer le même type de contenu mais en le liant à la première page créé (je ne sais pas encore comment définir un lien parent mais cela ne doit pas être trop trop sorcier je présume).

De plus est-ce que à l’aide de la fonction recherche, on peut ne rechercher que dans les titres de livres ? Par exemple si mon livre s’apelle «livre1 - 1234» est-ce que par la fonction de recherche je peux ne renvoyer que le livre cible en cherchant livre1 ou 1234 ? Ou dois-je utilisé la taxonomie ?

De plus (Et oui j’en ai des questions) puis-je avoir un menu de navigation de livre simplifié ? Dans le sens ou on peut activer le bloc navigation de livre dans l’interface d’administration mais il affiche TOUS les livres, hors je voudrais n’afficher que le livre courant, dois-je utiliser un script perso pour n’afficher que le listing de mon livre en cour et l’afficher dans un bloc personnel ?(bien entendu j’obtiendrais ce listing après une recherche)

Si vous avez besoin de précision n’hésitez pas à me demander.

Merci d’avance.

NB : J’utilise Drupal 6.2

[EDIT] : Je ne trouve pas non plus ou sont les poids des pages des livres (toujours dans l’optique de générer un livre par défault avec certaines informations spécifiques)

#

Bump du post.

Personne ne connait la manière dont sont stockées les données dans la base de donnée Drupal ?

#

Je n’ai pas testé sur Drupal 6.2, mais dans la 5.x, le body des contenus est rangé dans «node_révision» dans le champ «body».
Quant au poid, il me semble que les contenus n’ont pas de poids. Ils ne servent uniquement que pour ranger les champs des menus et les blocks.

Sinon, la meilleur solution pour ranger tes livres comme tu l’expose, c’est de passer par la taxonomie. Tu peux définir par exemple :
vocabulaire : livre
catégorie  : livre 1, parent
livre 11, parent livre 1
livre 12, parent livre 1
livre 111, parent livre 11

Après, tu n’as plus qu’a ajouter ton contenu dans ces catégories. Il existe ensuite plusieurs module pour afficher l’arborescence de ta taxonomie comme http://drupal.org/project/sitemenu .

Pour la recherche simplifiée, je ne sais pas trop. Il faudrait faire une recherche suivant le timestamp qui est associé à chaque contenu dans «node», champ «created» (ou «changed» pour une date de dernière mise à jour).

Voilà, j’espère avoir répondu en partie à tes questions.

#

Ahlala j’ai du passé sur toutes les tables mais celle ci m’avait bien échappé, merci.

Pour la recherche j’ai déjà pris les devants, j’ai créé une table de produits (vu que je dois les indexer), ensuite je recherce dans cette table suivant deux critères, tout cela fonctionne à merveille depuis cinq minutes (Je viens juste de finir ma fonction de recherche la en fait).
Ensuite pour afficher les dernières recherches j’ai fait au plus simple, j’ai créé une fonction qui ajoute le terme recherché lorque l’on clique sur le lien, générer par ma fonction de recherche (les résultats sont directement sous forme de lien html), et cela ajoute dans une table d’historique ensuite (c’est un peu codage de porc mais je n’ai pas trouvé comment récupérer simplement que les dernières entrées d’une table), je récupère toutes les entrées de ma table et je n’affiche, toujours sous forme de lien, que les cinq dernières entrées.

Concernant le rangement des livres, en faite, je créé un livre par produit, actuellement je travail sur un echantillon de 340 produits donc une liste avec tous les livres c’est ingérable mais avec ma fonction de recherche j’obtiens parfaitement ce que je veux, soit un accès rapide à tous mes livres avec un historique des cinq dernières entrées.

J’ai une autre question qui découle des précédentes.
Maintenant que je sais ou trouver les contenus de mes pages de livres (Grace à toi \o/), pour me permetre de créer un formulaire qui va automatiquement créé un livre avec les 8 ou 10 pages dont j’ai besoin, je ne comprends pas très bien comment lié une nouvelle page avec le livre etc.. sinon les champs UID (je suppose que c’est l’id de l’utilisateur et vu que j’ai créé tous les contenus grace au compte administrateur j’ai toujours 1), NID (je suppose Node Id) et VID (la je ne sais pas) je ne comprend pas bien comment ils sont liés, hmm je m’embrouille il me semble.

Je vais reformuler (je laisse ce qui est avant ca peut servir aussi).
Donc dans la table node_revision, il y a le contenu d’une page et QUE sont contenu (avec le titre), je ne sais pas à quoi corresponde NID, VID ni UID (même ci voir plus haut j’ai des pistes).
Dans la table Book il y a MLID, NID, BID (je suppose BID = Book ID, NID = Node ID mais le Node ID de la table node_revision ? sinon mlid je ne vois vraiment pas).

Donc la table Book, est la table qui permet de lié les noeuds aux livres (plusieurs Node ID NID associé à un BID booko ID), j’ai bon ?
Donc si je veux créer un formulaire pour créer des livres automatique, il faut que je créé les pages, ensuite que je créé le livre, ensuite j’affecte les poids (oui les poids ne sont que de l’affichage mais j’en ai besoin pour mettre en ordre mes pages de livre pour avoir un rendu ordonné, par contre je ne sais pas ou se trouve les poids), aussi me sembe les tires de livres enfin les titres des pages avec les references des pages sont dans une autre table me semble ?

Bon je vais commencer a voir pour créer des livres directement depuis php dans la base de donnée en attendant de possible eclaircissement.*

Merci encore Spinozandraque.

#

je ne sais pas à quoi corresponde NID, VID ni UID Tu avais raison pour tes déductions :

nid
node identify
uid
user identify

Quant à vid, au début, je croyais que c'était vocabulary identify (en relation avec la taxonomie) mais en faite, pas du tout. Je ne sais pas trop à quoi ca sert. Ce que je sais, c'est que si vid est différent de nid, Drupal ne trouve pas la page. Donc quand j'ai à y toucher, je met la même valeur.

Ça pourrais aussi vouloir dire version identify, mais quand on met à jour le contenu, ce champ ne change pas.

Pour la table book, je n'ai pas les mêmes champ que toi : vid, nid, parent, weight. C'est dans weight que le poid est affecté à une page.

Mais ça doit être propre à la version 6.x de Drupal !

Syndiquer le contenu