table dans fieldset, avec 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,

J'ai fait un module Drupal, v7, avec de nombreux "form" dedans. Et je coince sur un problème bête : je veux créer un tableau, à l'intérieur d'un fieldset. Le fieldset est bon, les lignes du tableau (issues d'une BD) sont dans le fieldset, mais le theme affiche la structure du tableau AVANT et EN DEHORS du fieldset.

Explications (je n'ai mis que les instructions pertinentes) :

function mymodule_form($form, &$form_state) {
  $form['list'] = array( '#type' => 'fieldset', '#title' => 'Titre' );
  $form['list']['#tree'] = TRUE;
  $rows = (requete su BD);
  foreach($rows as $row) {
     $form['list'][$row->id]['column1'] = ...;
     $form['list'][$row->id]['column2'] = ...;
  }
  return $form;
}

function theme_myform_form($variables) {
  $form = $variables['form'];
  $rows = array();
  foreach (element_children($form['list']) as $id) {
    $rows[] = array(
      'data' => array(
        drupal_render($form['list'][$id]['column1']),
        drupal_render($form['list'][$id]['column2']),
      ),
    );
  }
  $header = array(t('Col1'), t('Col2'));
  $output = theme('table', array('header' => $header, 'rows' => $rows) );
  $output .= drupal_render_children($form);

  return $output;
}

Le fieldset s'affiche, contenant les N lignes de la base de données, mais sans formattage, et le fieldset est précédé de mon tableau, vide, avec le même nombre de lignes.

En gros, je n'arrive pas à faire relier le tableau et son theme.

Quelqu'un a une idée sur ce que j'ai pu raté ?

Forum :