CCK -> affichage

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,

J'ai créé un nouveau type de contenu avec le module CCK contenant deux champs (podcast, informations).

Lorsque j'ajoute un article, je ne remplis pas automatiquement les deux rubriques en même temps. Dans ce cas là, j'aimerais que le champs vide ne s'affiche pas. Par exemple, si l'auteur de l'article ne rentre pas de données dans le champ "podcast", il faudrait que celui-ci ne soit pas visible à la publication!

Que dois-je faire? Faut-il adapter le code PHP?

Merci

Version de Drupal : 

Bonjour,

tu as 2 possibilités :

  • soit tu modifies node.tpl.php pour gérer l'affichage (modification du thème),
  • soit tu installes le module Contemplate pour pouvoir modifier le code HTML généré pour ton type de noeud

La dernière version de CCK (1.3) propose pour chaque type de contenu un onglet 'display fields' où tu peux régler certains paramètres d'affichage, dont notamment le fait d'afficher ou non les labels des champs (La belle des champs ? désolé, pas pu m'empecher...)

Ca réduit sensiblement le nombre de cas ou il est nécessaire de personnaliser les templates ou d'utiliser contemplate.

Je crois d'ailleurs que le comportement par défaut est maintenant de ne pas afficher les labels pour les champs vides...

En gros : installe la dernière version de cck, il y a de grosses améliorations au niveau affichage.

Effectivement, cette amélioration de CCK est canon. Si en plus (je sais, nous sommes exigeants...), on pouvait ordonner les champs à l'affichage avec un système de weight (exactement comme on peut les organiser dans le form), alors là ça serait whiiiiz.

Merci à tous pour ces réponses!

Petite question pour l'installation. Pour passer à la version 1.3 (avant j'avais la version : cck-4.7.x-1.x.tar.gz), que dois-je faire pour ne pas perdre les publications créées avec les nouveaux types de contenu que j'ai mis en places avec ce module?

Effacer le dossier CCK actuel du serveur et le remplacer par le contenu de la nouvelle version? Faut-il faire un update.php?

Je pose la question par peur de faire des dégâts...

Tu supprimes ton ancien dossier cck, et tu le remplaces par le nouveau.

Puis tu vas voir update.php. L'update de la base de données devrait se faire sans problèmes (bon, fais un backup de la base avant, c'est toujours recommandé :-) )

En fait, il y a qques bugs corrigés depuis la version 1.3, je te conseill de prendre "nouvelle" version 1.x-dev (ou d'attendre la release 1.4 qu'on va sortir dans qques jours)

(edit : ceci est une réponse au dernier post de Vincent - drupalfrance)

Oui, ça serait pas mal, mais on n'en sort plus dans la gestion des formulaires :-)
En fait, l'idée, ça serait d'avoir un 'display overview' séparé pour chaque contexte (formulaire, full node, teaser), ou tu règles indépendamment les paramètres de chaque champs (dont le poids).

Mais c'est seulement l'idée, il faut que quelqu'un s'y colle :-)

Je cherche à créer un type de contenu avec de nombreux champs dont je gérerai l'affichage par contemplate.
Mais lorsque j'utilise ce type de contenu dans "créer un contenu" l'ordre des champs ne respecte pas les réglages de poids, ni même toute logique.
Pourtant il est bien possible d'affecter un poids à chaque champs.
Je suis désespérè.
Quelqu'un a une solution ou au moins une explication ?

Le poids détermine l'ordre des champs dans le formulaire d'édition, pas sur la vue. Si tu utilises contemplate pour afficher ton type de contenu CCK, il faut manuellement modifier l'ordre du code dans contemplate pour que les champs apparaissent dans l'ordre que tu veux.

Les poids attribués aux champs sont censés affecter à la fois l'affichage par défaut (càd hors theming perso ou contemplate) du noeud (depuis récemment - CCK 1.2 ou 1.3, je crois) et le formulaire d'édition (depuis, euh, toujours).

Savoir pourquoi tes formulaires s'affichent selon un ordre étrange, c'est un peu dur à dire comme ça... Tu utilises des fieldgroups ?
Si tu créées un type de contenu bidon avec seulement quelques champs, est-ce que tu arrives à un ordre "normal" ? Quels sont les autres modules activés sur ton site ?