[Néophyte] Correspondance entre tables MySQL et contenus

Catégories:

Bonjour à tous !

Je suis un p’tit nouveau intéressé par l’utilisation de Drupal. J’ai déjà à peu près saisi les concepts de «contenu», «taxonomie», «CCK»… seulement je n’arrive pas à créer le type de contenu que je désire.

En fait je me colle à ce qui existe déjà : je souhaite mettre à jour un de mes sites web qui utilise des tables MySQL. Considérant qu’un contenu équivaut à une table et qu’une table représente en fait un objet, je ne trouve pas le moyen de mettre ces objets en relation via Drupal.

Je m’explique plus précisément : j’ai une table «catalogue» qui contient un champ «vendeur_id», ce champ correspondant à l’id d’une entrée dans la table «vendeur» (une ligne donc). Via le module CCK de Drupal que j’ai installé, j’ai donc crée le type de contenu «vendeur» mais je ne trouve pas comment créer le type «catalogue» puisqu’il est lié à un «vendeur».

Comment représenter cette relation entre les deux types de contenu ? Comment forcer la création d’un contenu «catalogue» avec un «vendeur» crée auparavent ?
Il faudrait que je crée un field «vendeur» mais qu’en est-il du widget ?

C’est un exemple tout simple qui me permettrait de comprendre comment réaliser une transposition de mon ancien site à un CMS de qualité comme Drupal ! :)

Merci d’avance pour vos éclaircissements.

#

Bonjour,

J’ai un peu le même problème que toi ; je souhaite aussi créé des relations 1,n entre différents types de contenu.
Après avoir lu la page http://drupal.org/node/108245 il me semble que le module nodereference (présent dans CCK et qu’il suffit d’activer) devrait répondre à nos besoins et je vais le tester (après les vacances ;-)…)

Didier

#

Je savais bien que c’était facile ! Effectivement j’ai confondu un field de type «CCK taxonomy» avec «node reference» qui fait exactement ce que je recherchais. Merci encore pour la piste !

Désormais je m’oriente vers des modules tels Addnode (http://drupal.org/project/addnode) ou Add & Reference (http://drupal.org/project/add_n_reference) pour peaufiner.

J’aurais encore deux petites questions : il semble que le field «title» défini par défaut sert pour la référence des noeuds, comme des clés primaires. Mais certains de mes contenus n’en nécessitent pas. Est-il possible de le supprimer ? Au pire peut-on chancher son type (comme integer par exemple) ?

La deuxième concerne l’importation de types de contenu : existe-t-il un module qui gèrerait l’import via une base MySQL et qui créerait automatiquement les types et contenus à partir des tables ?

#

Salut,

La clé primaire d’un noeud, c’est son ID (champ nid dans la table node). Chaque noeud a un titre obligatoire (champ title dans la table node), mais il y a des manips (et un module dont j’ai oublié le nom…) qui permettent de faire disparaître ce champ du formulaire de noeud, et de renseigner sa valeur automatiquement.

Vincent

Formations Drupal pour WEBMASTERS, DESIGNERS et DÉVELOPPEURS.

#

Je vais rechercher ce module…
Tu dis «renseigner sa valeur automatiquement» ; qu’est-ce que tu appelles «sa valeur» ? Le nid ? Parce que ce que je cherche exactement, c’est de faire d’un vocabulaire de taxonomie une sorte de clé primaire. Donc à complètement remplacer le champ title et à vraiment oublier ce rapprochement avec des tables MySQL.

Pour reprendre un exemple et voir si je ne m’égare pas, je veux transposer une table catalogue. J’ai une taxonomie où le vocabulaire père serait «catalogue», ses fils les années du catalogue et ses petit-fils les différents thèmes du catalogue. Tout ça en vue d’organiser mes contenus pouvant être affichés par tri : en terme de page je ne voudrais afficher que les données d’un catalogue particulier (avec comme titre le thème d’un des catalogues) ; mais si je joins la page de l’année, j’ai la liste des thèmes de catalogue pour cette année.

Est-ce que je suis sur la bonne voie ? Y a-t-il un moyen de créer le vocabulaire de taxomonie en même temps qu’un contenu dont l’un des champs (textfield) lui correspond ?

Merci beaucoup.

#

OK. Je ne suis pas sûr d’avoir bien compris ce que tu veux faire. Voici une tentative de réponse à tes questions.

renseigner sa valeur automatiquement. Je parlais du titre d’un noeud (title). Le nid (l’id d’un noeud) est DEJA renseigné automatiquement par Drupal, tu ne dois pas t’en préoccuper.

Quant au vocabulaire, je créerais plutôt 2 vocabulaires différents : un pour les thèmes et un pour les années (plutôt que d’avoir un seul vocabulaire avec pour enfants les années, puis les thèmes).

Vincent

Formations Drupal pour WEBMASTERS, DESIGNERS et DÉVELOPPEURS.

Syndiquer le contenu