multiples classes et id crées par les modules de Drupal

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,

Je travaille sur un thème dans Drupal et je constate que les modules blocks et views génèrent un maximum de div avec classes et id, pas toujours utiles... Je me trompe peut être :-)

Je voudrais savoir s'il est possible de simplifier le code html généré, sans toucher au core et aux modules bien sûr, juste à partir de mon thème et surtout, si oui, comment faire.

J'ai regardé dans mes fichiers (tpl.php, template.php...), j'ai cherché dans les forums, mais je n'ai pas trouvé :-(

Merci d'avance.

Forum : 
Version de Drupal : 

Hello
Quand il faut commencer à faire des designs un peu tendus ça rend bien service ces ids et classes; c'est un peu moins propre qu'un design codé à la main mais c'est parce que ça doit répondre à toutes les situations et pas seulement celle d'un site en particulier.

Sinon dans le dossier theme ou site/all/themes tu peux trouver ton theme actuel et modifier le template block.tpl.php.

Pour views c'est un peu plus compliqué; je ne sais pas comment faire : il te propose de copier ses templates (présent quelque part dans le module, je ne sais plus où) et de les coller dans ton theme; pour pouvoir les modifier à ta guise.

Mon avis est que ce sera beaucoup d'énergie dépensée pour un gain pas très intéressant; voir cela va ajouter des traitements php en plus ? (systeme d'override des template et fonctions)

Hello,

Merci nyl auster pour ta réponse.
En effet, ces classes doivent être utiles dans certaines situations, mais elles génèrent un html assez lourd.

Et j'ai vu dans le code de certains sites réalisés en Drupal, que le code pour views et blocks a été simplifié et les classes et id renommées... et j'aurai aimé savoir comment faire.

Je vais essayer de modifier les tpl.php que j'ai copié dans mon thème pour voir ce que ça donne...
Au pire, je remettrai les originaux.

Mon inquiétude, viens aussi du fait que je n'ai pas bien compris le système de création ou modification de variables dans les templates et php.settings.
Je ne voudrais pas y toucher dans un premier temps.

"mais elles génèrent un html assez lourd."

La question que je me pose est : est ce que les manipulations php pour rendre le html plus léger ne sont pas aussi lourdes ou plus que le surplus de html ?

qu'appelle tu création de variables ? a priori le fichier settings n'a rien à voir là dedans. Le fichier template.php lui peut jouer un role dans les variables que reçoivent les templates ou permet de mettre en forme différement le html de toute fonction drupal commençant par le mot theme_.

Bonjour,
J'ai la même question que "apprenti".
Je vous expose mon cas :
Je travaille avec un graphiste qui va me fournir des pages html accompagnées de leurs CSS et de leurs média.

A partir de là, je dois faire correspondre le code généré par DRUPAL à la nomenclature utilisée par le graphiste.
Je pends un exemple :
Lorsque j'affiche une boucle, chacune de mes lignes est encadrée par un div avec une class = views-row views-row-2 views-row-even

Je voudrais renommer "views-row" par l'intitulé du graphiste tout en conservant les suffixes "-2" et "-even" (très utiles pour des finesses d'affichage).

Si cela n'est pas possible, comment ajouter la classe du graphiste à la liste des classes générées sans être obligé d'ajouter une nouvelle balise div.

Comment faire ?
Merci pour vos réponses

Content de pouvoir aider :-)
apparemment ce module est très récent et je n'ai pas encore eu l'occasion de le tester.
En ce qui concerne les views il y a aussi l'option "rewrite output of this field" qui peut servir pour prendre le controle du html des views.