Submitted by Jefeh on
Bonjour,
je suis entrain de concevoir un module permettant d'afficher des données contenues dans des fichiers xml. J'ai déjà pas mal avancé grâce à d'autres sujets que j'ai ouvert dans ce forum...
Malheureusement, je coince sur une bêtise... Comme dit ci-dessus, je récupère des infos dans un fichier xml et ensuite, je veux les afficher dans un tableau...
J'arrive à créer le tableau mais malheureusement, j'ai beaucoup plus de mal à l'afficher correctement... En faite, je n'arrive pas à l'insérer dans mon formulaire. Dès que j'essaye, j'obtiens une page vide synonyme d'erreur :(.
Cependant, mon tableau a l'air correctement construit puisque lorsque j'utilise la fonction "print", il s'affiche (avec les bonnes valeurs) tout au-dessus de la page...
Voici le code qui ne crée pas d'erreur:
<?php
function jefeh_xml_display_message_form(&$form_state, $output) {
$raw = array_keys($output);
$column = array_keys($output[$raw[0]][1]);
$header = array();
foreach($column as $title) {
drupal_set_message($title, 'error');
$header[] = $title;
}
$rows = array();
$content = array_count_values($output[$raw[0]][1]);
foreach($output[$raw[0]] as $datas) {
$row = array();
foreach($datas as $data) {
$row[] = array('#type' => 'textarea', 'data' => $data);
}
$rows[] = $row;
}
$form['button'] = array(
'#type' => 'submit',
'#value' => t('Valid'),
);
print theme('table', $header, $rows);
return $form;
}
?>
Et donc dès qu'à la fin de la fonction je fais ceci:
<?php
$form2 = theme('table', $header, $rows);
$form2 .= drupal_render($form);
return $form2;
?>
j'ai une erreur...
Voilà, donc j'espère que si vous avez une idée de pourquoi mon tableau n'a pas envie de s'afficher correctement, je suis preneur...
Essaye de mettre un
Permalien Soumis par tostinni le 26 Juillet, 2010 - 15:34
Essaye de mettre un drupal_render sur ton theme_table.
Et si ca marche pas, essaye de rajouter un $attributes dans ton theme_table, j'ai eu ce meme pb et je pouvais pas recuperer mon tableau juste en faisait
$table = theme('table', $header, $rows);
, par contre en faisant$table = theme('table', $header, $rows, $attributes);
ca fonctionnait (meme si $attributes est vide).J'ai pas creuse plus loin mais y a ptet un truc louche ici ;)
Malheureusement ta technique
Permalien Soumis par Jefeh le 26 Juillet, 2010 - 20:31
Malheureusement ta technique ne fonctionne pas dans mon cas :'(.
Par contre, je vais ajouter une petite précision. En faite ma fonction "jefeh_xml_display_message_form(&$form_state, $output)" est appelée dans le contexte suivant:
Je ne sais pas si ça peut vous être utile mais bon comme ça, c'est bien clair ;)
Je me permets de d’ajouter ce
Permalien Soumis par Jefeh le 17 Août, 2010 - 12:28
Je me permets de d'ajouter ce lien:
http://drupal.org/node/883258