Submitted by clement106 on
Bonjour,
Voilà je me poste une question sur un petit détail qui me tracasse.
Dans un de mes noeuds qui présente des modèles de moto, j'aimerais mettre un champ de type "texte" avec un éditeur Wysiwyg pour la description du modèle.
Bon but étant de mettre ce champ dans un group, j'ai décidé d'ajouter un nouveau champ plutôt que d'utiliser le corps du noeud vu que l'on ne peut pas le mettre dans un groupe par l'interface graphique.
Après coup, j'ai réussi à personnaliser le mode d'édition du noeud (node-edit.tpl.php) et maintenant, je pourrais mettre manuellement le corps du noeud dans un groupe.
Je ne sais pas quoi faire, utiliser le corps du noeud ou ce champ spécialement ajouté.
Que me conseilleriez-vous de faire? Au niveau de la taille dans la base de donnée ça change quelque chose? Et au niveau du traitement php?
Merci d'avance pour vos conseils!
Je te conseille d'utiliser
Permalien Soumis par T-MaK le 10 Février, 2010 - 22:29
Je te conseille d'utiliser les modules CCK et Views. Avec ces 2 modules combiné tu pourras rajouter les champs que tu veux (avec le wysiwyg en mettant le format d'entrée adéquat).
Merci pour ta réponse, Dans
Permalien Soumis par clement106 le 11 Février, 2010 - 18:31
Merci pour ta réponse,
Dans mon noeud il y a déjà 80 champs CCK dont un seul champ de type "texte long" donc je me suis dit, mais à la place d'utiliser ce champ, pourquoi pas utiliser le corps du noeud.
Parce que je me suis rendu compte que si l'on désactive le corps du noeud, il est quand même chargé quand on utilise node_load() donc vu qu'il utilise des ressources, pourquoi ne pas l'utiliser.
Apparemment tu serais plus pour créer un nouveau champ.
Maintenant dans ta réponse, tu me dis que tu peux paramétrer le format d'entrée, tu entends quoi par la? Que l'utilisateur qui remplit le champ peut choisir le format(html, full html, etc.) ou que l'on peut directement imposer le format d'entrée car je n'ai pas vu cette option là en remplissant le champ. La dernière qui m'arrangerais bien!
Salut Clément, Pour imposer
Permalien Soumis par Thib le 12 Février, 2010 - 08:49
Salut Clément,
Pour imposer un format d'entrée, tu peux utiliser le module Better Format
http://drupal.org/project/better_formats
Cordialement,
Thib
Pour spécifier le format
Permalien Soumis par T-MaK le 12 Février, 2010 - 10:36
Pour spécifier le format d'entré que tu souhaites utiliser, il faut que dans la configuration de ton champs tu ailles dans "valeur par défaut" puis "Format d'entrée".
Tu en choisis un et le tour est joué ^^. Il ne faut pas oublier de spécifier que les utilisateur n'ont pas le droit de changer le type de format.
Merci pour votre aide. Donc
Permalien Soumis par clement106 le 12 Février, 2010 - 17:34
Merci pour votre aide.
Donc si j'ai bien compris, pour paramétrer manuellement, je dois aller dans "valeur par défaut" -> "Code php" -> puis ajouter quelque chose du genre? :
return array(
0 => array('value' => valeur de value, 'format' => valeur de format),
);
Je vais faire des recherches pour remplir correctement ce tableau...
non tu vas dans valeur par
Permalien Soumis par T-MaK le 12 Février, 2010 - 17:38
non tu vas dans valeur par défault et tu dans le format d'entrée tu choisi Filtered ou Full ou autre (celui où tu as spécifié tinyMCE).
Pas de php à rajouter...
Merci, je ne sais pas ce que
Permalien Soumis par clement106 le 12 Février, 2010 - 19:28
Merci, je ne sais pas ce que j'ai fais avant comme manipulation mais il ne me semble pas que j'avais "Format d'entrée", maintenant il est affiché je peux choisir le format comme tu me l'as expliqué...magnifique!!
Merci beaucoup pour m'avoir aidé!
Ps: Je ne vois pas de lien pour éditer le premier message pour mettre [résolu]
Salutations.
Clément
------Edition------
Une dernière petite question: T-MaK quand tu dis "Il ne faut pas oublier de spécifier que les utilisateur n'ont pas le droit de changer le type de format."
Il faut utiliser le module Better format pour celà ou il y aurait encore une option que je n'aurais pas vu? Merci
Pour l'insant j'ai fais celà avec css: display: none;