Drupal : Création d'un tableau

Salut,

L'objectif de ce billet est d'expliquer comment créer afficher un tableau sous Drupal à l'intérieur d'un Formulaire. Par défaut, le tableau dans un formulaire Drupal est utilisé pour choisir ou cocher une ligne. C'est pour cette raison lorsque qu'on l'affiche on voit toujours la première colonne contient des cases à cocher. L’objectif de ce billet est d'essayer d'afficher le tableau sans les cases à cocher. 


Création d'un tableau sous Drupal

Avant de créer le tableau il faut tout d'abord commencer à créer le formulaire. Sous drupal pour créer un formulaire il faut commencer par créer le tableau $form et à la fin retourner la valeur de ce tableau :

$form = array();

Création des différents champs

return $form;

Ensuite on commence à créer nos différents champs

$form = array();

$form['debut-heur'] = array(    // Création d'un champ text
                    '#type' => 'textfield',
                    '#title' => t('Start hour'),
                    '#maxlength' => 10,
                    '#size' => 8,
 );

$form['gps_module'] = array(  // Création d'un champ select
                '#type' => 'select',
                '#title' => t('GPS Module'),
                '#options' => $module_gps_libelle,
                '#weight' => 1,
    );

return $form;

Nous créons maintenant le tableau par défaut dans un formulaire sous Drupal. Pour créer un tableau il faut ajouter la valeur ' tableselect' au paramètre #type.

$form['table'] = array(
                '#type' => 'tableselect',
                '#title' => t('Current affectation table'),
                '#header' => $header,
                '#options' => $rows                
                );

Le tableau obtenu ressemble à celui de l'image suivante :

Tableau Drupal avec case à cocher

Image 1 : Tableau par défaut de Drupal avec case à cocher

On constate très bien que nous avons les cases à cocher. Pour enlever ces cases à cocher il faut ajouter les lignes suivantes en dessous du tableau crée :

foreach( $rows as $key => $value )
{
  $form['table'][$key]['#disabled'] = true;
}

Et ensuite on obtient notre nouveau tableau :

   Tableau Drupal avec case à cocher

Image 2 : Tableau par défaut de Drupal sans case à cocher

 

Code complet

Je vous remte içi le code complet :

$form = array();

$form['debut-heur'] = array(    // Création d'un champ text
                    '#type' => 'textfield',
                    '#title' => t('Start hour'),
                    '#maxlength' => 10,
                    '#size' => 8,
 );

$form['gps_module'] = array(  // Création d'un champ select
                '#type' => 'select',
                '#title' => t('GPS Module'),
                '#options' => $module_gps_libelle,
                '#weight' => 1,
    );

while($row = db_fetch_array($query)) {

 
$rows[$row ['id']] = array(
                            'vehicle'=>$row['vehicle'],
                            'terminal'=>$row['terminal'],
                            'start_date'=>date('d/m/Y',$row['start_date']),
                            'end_date'=>date('d/m/Y',$row['end_date']),
);
}

$header = array('vehicle'=> t('vehicle'), 'terminal'=> t('terminal'), 'start_date'=> t('start_date'),'end_date'=> t('end_date'));

$form['table'] = array(
                '#type' => 'tableselect',
                '#title' => t('Current affectation table'),
                '#header' => $header,
                '#options' => $rows                
                );

foreach( $rows as $key => $value )
{
  $form['table'][$key]['#disabled'] = true;
}

return $form;

Commentaires

<a href=https://images.google.ml/url?sa=t&url=https://vk.com/fitness_pitanie_sus...фитнес для начинающих для похудения</a>|
https://images.google.ro/url?sa=t&url=https://vk.com/interesniy_fitnes
<a href=https://images.google.com.et/url?sa=t&url=https://vk.com/interesniy_fitnes>фитнес для начинающих для похудения</a>|
<a href=https://maps.google.com.tr/url?sa=t&url=https://vk.com/interesniy_fitnes>домашний фитнес для похудения</a>|
<a href=https://newsletters.consultant.ru/go/?url=https://vk.com/interesniy_fitnes>домашний фитнес для похудения</a>|

https://images.google.com.br/url?sa=t&url=https://vk.com/perevod_s_angli...
<a href=https://maps.google.com.gt/url?sa=t&url=https://www.instagram.com/buro_p...Перевод документов Новокузнецк</a>|
https://maps.google.com.do/url?sa=t&url=http://xn-----7kccgclceaf3d0apde...
<a href=https://maps.google.co.in/url?sa=t&url=http://xn-----7kccgclceaf3d0apdee...Резюме перевод на английский</a>|
<a href=https://maps.google.com.na/url?sa=t&url=http://xn-----7kccgclceaf3d0apde...Заверение печатью бюро переводов</a>|

https://images.google.sn/url?sa=t&url=http://xn-----7kccgclceaf3d0apdeee...
<a href=https://images.google.com.om/url?sa=t&url=http://xn-----7kccgclceaf3d0ap...Перевод документов Новокузнецк</a>|
<a href=https://www.cybersport.ru/redirector/1?url=http://xn-----7kccgclceaf3d0a...Печать перевод</a>|
https://images.google.co.ke/url?sa=t&url=http://xn-----7kccgclceaf3d0apd...
<a href=https://images.google.al/url?sa=t&url=https://vk.com/perevod_s_italyansk...Перевод с итальянского на русский</a>|

https://images.google.sn/url?sa=t&url=http://xn-----7kccgclceaf3d0apdeee...
http://delyagin.ru/redirect?url=http://xn-----7kccgclceaf3d0apdeeefre0dt...
https://images.google.bi/url?sa=t&url=http://xn-----7kccgclceaf3d0apdeee...
<a href=https://maps.google.co.il/url?sa=t&url=https://vk.com/perevod_s_italyans...Перевод с итальянского на русский</a>|
<a href=https://images.google.hn/url?sa=t&url=https://vk.com/perevod_s_angliyskogo>Перевод на английский новокузнецк</a>|

https://images.google.cv/url?sa=t&url=http://xn-----7kccgclceaf3d0apdeee...
https://images.google.gp/url?sa=t&url=http://xn-----7kccgclceaf3d0apdeee...
<a href=https://maps.google.co.jp/url?sa=t&url=http://xn-----7kccgclceaf3d0apdee...Резюме перевод на английский</a>|
<a href=https://maps.google.co.zw/url?sa=t&url=http://xn-----7kccgclceaf3d0apdee...Нотариальный перевод документов апостиль</a>|
<a href=https://maps.google.com.pa/url?sa=t&url=http://xn-----7kccgclceaf3d0apde...Перевод справки</a>|

<a href=https://maps.google.com.sa/url?sa=t&url=http://xn-----7kccgclceaf3d0apde...Перевод свидетельства о рождении</a>|
https://maps.google.bs/url?sa=t&url=http://xn-----7kccgclceaf3d0apdeeefr...
<a href=https://images.google.com.bz/url?sa=t&url=http://xn-----7kccgclceaf3d0ap...Бюро переводов</a>|
<a href=https://images.google.co.th/url?sa=t&url=http://xn-----7kccgclceaf3d0apd...Заверение печатью бюро переводов</a>|
<a href=https://images.google.com.ag/url?sa=t&url=http://xn-----7kccgclceaf3d0ap...Перевод трудовой книжки</a>|

https://images.google.co.nz/url?sa=t&url=http://xn-----7kccgclceaf3d0apd...
https://kirov-portal.ru/away.php?url=http://xn-----7kccgclceaf3d0apdeeef...
<a href=https://images.google.com.co/url?sa=t&url=http://xn-----7kccgclceaf3d0ap...Перевод документов Новокузнецк</a>|
<a href=https://maps.google.co.tz/url?sa=t&url=http://xn-----7kccgclceaf3d0apdee...Нотариальный перевод документов апостиль</a>|
https://maps.google.com.eg/url?sa=t&url=http://xn-----7kccgclceaf3d0apde...

Pages

Ajouter commentaire

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
La question est pour vérifier si vous êtes un robot ou humain afin de se prévenir des spams.