[Résolu] Customiser un table_theme()

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 à tous,

Je viens de réaliser un table_theme() au sein d'un de mes modules de mon site.

Je souhaiterai customiser ce table_theme. Comment faire ?

Dois mettre directement mes balises HTML dans ma fonction qui se trouve dans mon fichier *.module ?

Y a t-il une autre solution ?

Merci

disko_sebb

Forum : 
Version de Drupal : 

Quand tu dis que tu veux customiser, c'est à dire faire une mise en page?

Le mieux, si c'est bien cela, est de le faire via un fichier css. La fonction theme_table va te construire le tableau en HTML avec des id et des class dans tes balises.

Il est aussi possible d'injecter du HTML dans le tableau $rows à passer en paramètre.

$rows[] = array(
$node->title,
$node->model,
'<form id="form_' . $node->nid . '"><input class="toto" type="text" value="' . $value . '"/><input type="submit" value="' . $submit_value . '"/></form>',
$state,
$operations,
);
return theme_table(array('header'=> $header, 'rows' => $rows));

Bon, j'ai testé sous Drupal 6, mais je ne vois pas pourquoi ça ne marcherait pas en 7.
J'espère avoir répondu à ta question.

En effet, je sais que ce n'est pas très joli. Il existe une méthode pour injecter des élements de la form API dans une fonction theme, mais j'ai laissé tombé car c'est super long et assez complexe.

Je penserais à ta solution pour les prochaine fois!