PEAR logo

HTML_QuickForm_advmultiselect : La Référence



Nom

HTML_QuickForm_advmultiselect::getElementCss - Renvoie la feuille de style nécessaire au rendu de la forme liste unique

Synopsis

      require_once 'HTML/QuickForm/advmultiselect.php';
     
string HTML_QuickForm_advmultiselect::getElementCss( $raw = TRUE);
boolean $raw = TRUE;

Description

Si votre navigateur ne supporte pas javascript, ou si pour une raison quelconque vous avez choisi de le désactiver, alors la seule solution est d'utiliser la forme liste unique avec cases à cocher.

Vous pouvez obtenir un rendu plus ou moins acceptable avec les seules valeurs par défaut, mais avec le niveau de configuration élévé, vous pouvez obtenir presque tout ce que vous voulez.

La présentation par défaut est appliquée avec le marquage {stylesheet} dans le gabarit de votre élément. Elle peut être aussi appliquée avec la méthode getElementCss(). Si vous n'avez pas de balise style existante dans votre page html, vous devriez appeler la méthode avec FALSE comme argument. Le comportement par défaut renvoie seulement les données css bruts sans balises style. Utile lorsque vous utiliser un moteur de gabarit.

Paramètres

boolean $raw

(facultatif) sortie html avec les balises style ou juste les données bruts

Valeurs renvoyées

Aucune

Note

depuis la version 0.4.0

Cette fonction ne peut pas être appelée de façon statique.

Exemple

  1. <?php
  2. require_once 'HTML/QuickForm.php';
  3. require_once 'HTML/QuickForm/advmultiselect.php';
  4.  
  5. $form = new HTML_QuickForm('ams');
  6. $form->removeAttribute('name');        // XHTML compliance
  7.  
  8. $fruit_array = array(
  9.     'apple'     =>  'Apple',
  10.     'orange'    =>  'Orange',
  11.     'pear'      =>  'Pear',
  12.     'banana'    =>  'Banana',
  13.     'cherry'    =>  'Cherry',
  14.     'kiwi'      =>  'Kiwi',
  15.     'lemon'     =>  'Lemon',
  16.     'lime'      =>  'Lime',
  17.     'tangerine' =>  'Tangerine'
  18. );
  19.  
  20. // rendering with QF renderer engine and template system
  21. $form->addElement('header', null, 'Advanced Multiple Select: custom layout ');
  22.  
  23. $ams =& $form->addElement('advmultiselect', 'fruit', null, $fruit_array);
  24. $ams->setLabel(array('Fruit:', 'Available', 'Selected'));
  25.  
  26. // template for a single checkboxes multi-select element shape
  27. $template = '
  28. <table{class}>
  29. <!-- BEGIN label_3 --><tr><th>{label_3}</th></tr><!-- END label_3 -->
  30. <tr>
  31.   <td>{selected}</td>
  32. </tr>
  33. </table>
  34. ';
  35. $ams->setElementTemplate($template);
  36.  
  37. if ($_SERVER['REQUEST_METHOD'] == 'GET') {
  38.     // fruit default values already selected without any end-user actions
  39.     $form->setDefaults(array('fruit' => array('kiwi','lime')));
  40.  
  41. } elseif (isset($_POST['fruit'])) {
  42.     // fruit end-user selection
  43.     $form->setDefaults(array('fruit' => $_POST['fruit']));
  44. }
  45.  
  46. $buttons[] =& $form->createElement('submit', null, 'Submit');
  47. $buttons[] =& $form->createElement('reset', null, 'Reset');
  48. $form->addGroup($buttons);
  49. ?>
  50. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  51.     "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  52. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  53. <head>
  54. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  55. <title>HTML_QuickForm::advMultiSelect custom example 4b</title>
  56. <style type="text/css">
  57. <!--
  58. body {
  59.   background-color: #FFF;
  60.   font-family: Verdana, Arial, helvetica;
  61.   font-size: 10pt;
  62. }
  63. <?php echo $ams->getElementCss(); ?>
  64. // -->
  65. </style>
  66. </head>
  67. <body>
  68. <?php
  69. if ($form->validate()) {
  70.     $clean = $form->getSubmitValues();
  71.  
  72.     echo '<pre>';
  73.     print_r($clean);
  74.     echo '</pre>';
  75. }
  76. $form->display();
  77. ?>
  78. </body>
  79. </html>
HTML_QuickForm_advmultiselect : La Référence v 1.4.0 : 9 Juin 2007