Message d'avertissement

The subscription service is currently unavailable. Please try again later.

[Champs] Ajout de champs externes au contenu

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.

Bonsoir,

Je cherche depuis quelques jours à ajouter des champs particuliers dans mes contenus.

J'explique le contexte:
J'ai des attentes précises concernant la gestion de mes données. J'ai donc décidé de modéliser puis d'introduire moi même mes tables MySQL dans la BDD du site (par lignes de requêtes dans phpMyAdmin).

Maintenant, j'aimerais offrir à l'utilisateur la possibilité de remplir un contenu qui est formé de ces champs.

Or, dans la gestion des contenu > gestion des champs, on ne peut qu'ajouter un champs ou utiliser un champs existant au sein même de ce contenu.

Comment dois-je faire?

(Si la description ne vous semble pas claire dites le moi!)

Merci d'avance et bonne soirée,

Azerla

Version de Drupal : 

Salut Azerla,

Sauf si je me trompe et que je n'ai pas compris l'objectif de ton sujet, mais tu peux utiliser form_alter si ton contenu est sous forme d'un formulaire.

Mehdi.S

Merci pour ta réponse Medhi!

Mes données ne provienne pas de formulaires.

Elles proviennent d'une table, appelons la Maison. Cette table je l'ai créée depuis phpMyAdmin par requête SQL (CREATE TABLE Maison ...) et puis je l'ai remplie par un script. Je l'ai insérée dans la même BDD que Drupal.

Le soucis, c'est que depuis drupal, je n'ai pas trouvé comment faire pour y accéder.

Aurais-tu une idée? Ou un exemple de code de module que permettrait d'ajouter l'accès à cette table aux possibilités dans les champs de création de contenu (au même titre qu'un champs node reference par exemple)?

Bonne journée,

Dans une vue (Views) on peut accéder à des données externes à Drupal (https://www.drupal.org/sandbox/Gajendrasharma/1996980)

Si la table est dans la même base que drupal, il est possible d'y accéder mais ça passera par un module spécifique.

Tout dépend ensuite de ce que tu veux en faire : afficher le contenu, l'utiliser dans une liste déroulante ou autre ?

Si c'est pour ajouter à un node, il vaudrait mieux créer un type de champ spécifique (avec le modèle de données de ta table actuelle), ce qui permettra de l'intégrer correctement.

J'aimerais l'ajouter à un node, en pouvant ajouter des nouvelles valeurs, les éditer, les afficher comme tout contenu.

A la base je pensais créer un type de contenu, qui utiliserait ces champs au lieu de ceux automatique. Est-ce possible?

Pourrais-tu détailler détailler ce qu'est un type de champs spécifique et comment le faire? (ou me donner un lien ou l'autre, je n'en ai pas trouvé, peut être faute de taper les bons mots clés).

Merci d'avance!

Si le but est de rajouter des données à un node, comme un champ, ,il vaut mieux effectivement créer un champ spécifique.

Le module examples (https://www.drupal.org/project/examples) a un exemple de champ additionnel Drupal avec 2 champs de base de données.
Ca me semble être une base intéressante pour démarrer.

Une fois que ton module définissant le champ sera créé, tu pourras activer le champ et l'ajouter à n'importe quel type de contenu.

Merci, ca m'éclaircit certains points du développement sur Drupal, mais malheureusement ne fait pas ce que je veux.

Il n'y a donc pas moyen qu'un type de contenu enregistre/utilise des champs dans une table autre que celle créé par drupal?