Submitted by yohann on
bonjours à tous,
je développe actuellement un blog sous drupal 6,
que j'ais construit à partir du theme basic,
l'ayant fini depuis 2 jours,
sauf au niveau du formulaire à remplir pour poser un commentaire:
ça fait maintenant 1 nuit et une journée que j'essaye en vain d'enlever le champ
"page d'accueil"
je voudrais garder tout les reste (nom mail commentaire) sauf ce maudit champ page d'accueil qui est sensé représenté le site du visiteur.
_J'ais dabord essayer de passer par le css et utilisé hide mais impossible de le cacher sans cacher tous les autre champs et l'id du champ: "edit-homepage-wrapper" n'existe nulle part dans les 7 link css relier à la page.
_j'ais alors essayer de trouver un module, content cck installer mais toujours aucun moyen de modifier le contenue du formulaire mail
_j'ais ensuite googler le probleme avec un seul cas similaire:
http://drupal.org/node/147502
en anglais mais toujours sans reponse à la clés.
_j'ai aussi essaye de voir les fichiers comment tpl mais je n'ais rien compris, des appel php sur des fichiers aux langages que je ne connais pas.
C'est pourquoi je m'en remet à vous. Merci d'avance
ps: habituer à spip c'est mon premier site drupal et vue la difficulté pour modifier un simple champs, je suis surpris qu'aucun module est était développer pour le dit cms le plus puissant au monde !...
Disons qu'il ne faut pas se
Permalien Soumis par Yoran le 21 Décembre, 2009 - 04:32
Disons qu'il ne faut pas se tromper de cible, sa puissance tient avant tout (à mon sens) à sa souplesse de programmation.
Pour cacher un élément formulaire il suffit de créer un module custom (voir le tuto en fin de ma signature) et d'y coller le code suivant (en prenant soit de faire concorder le nom de la fonction avec le nom du module) :
Et pour ne faire ce
Permalien Soumis par sahuni le 21 Décembre, 2009 - 09:03
Et pour ne faire ce changement que pour un certain type de contenu?
Actuellement, je récupère le nid, je lis la db pour connaitre le type et je le teste.
Cela fonctionne bien, mais j'aimerai savoir si c'est la bonne méthode
Oui c'est la bonne méthode,
Permalien Soumis par Yoran le 21 Décembre, 2009 - 10:10
Oui c'est la bonne méthode, mais utilise la fonction node_load (pas de lecture directe en DB). En effet, le noeud est sans aucun doute déjà chargé en cache statique. Passer par la base te coûterais une requête supplémentaire.
Tu as aussi une méthode plus directe en partant du principe que l'URL est de la forme node/XXX et en utilisant la fonction menu_get_object()
"le noeud est sans aucun
Permalien Soumis par sahuni le 21 Décembre, 2009 - 10:33
"le noeud est sans aucun doute déjà chargé en cache statique"
Je pensais justement le contraire : que charger tout le noeud juste pour récupérer le type, ce n'était pas performant. Ah, l'expérience!
J'essaierai le menu_get_object() prochainement.
Merci pour la réponse
Trust but check ;p Va ligne
Permalien Soumis par Yoran le 21 Décembre, 2009 - 10:58
Trust but check ;p
Va ligne 698 de modules/node.module, dans la fonction node_load. Tu verras un tableau statique (static $node=array()) qui garde en mémoire, le temps de la construction de la page, tous les nodes déjà chargés jusque là.
Merci pour ta réponse
Permalien Soumis par yohann le 22 Décembre, 2009 - 15:37
Merci pour ta réponse concise et précise, on voie qu il ya de la bouteille, j ais lue l'ensemble du tuto, trés bien fait même si il faut de bonne connaissance en programmation pour tout comprendre, et j'ais donc creer un module parfait mais je voulais savoir ou mettre le hook en debut fin de page comment.module .
Et merci encore, j avais jamais compris que le module etait dans le fichier.module ?! ca paré un peu bête dit comme ça...
Et pr mo probleme j ais reussi à le resoudre par un autre moyen, mais merci pr le tuto, d'une grande aide pr l avenir !
Salut Yohann, Je cherche
Permalien Soumis par floweo le 5 Septembre, 2010 - 21:16
Salut Yohann,
Je cherche désespérément à enlever le champ page d'accueil du formulaire d'ajout de commentaire. Mais rien...
Peux-tu me dire comment tu as fait ?
Stéphane
On ne dit pas «il n’y a pas
Permalien Soumis par Marie-Hélène le 6 Septembre, 2010 - 14:21
On ne dit pas "il n'y a pas de module". On cherche, et on trouve.
http://drupal.org/project/nodeformsettings : "Option to disable the Name, Email and Homepage on Anonymous Comments"