Documentation
Pages visitées : La classe « skin » » La classe « ploopi_db » » La classe « data_object » » Introduction aux templates » Installation de PLOOPI
La classe « skin »
L’affichage dans ploopi est divisé en deux parties :
- Le gabarit principal qui est géré par le moteur de template. Pour modifier le gabarit vous devez créer ou modifier un template BackOffice (cf. Création d’un template BackOffice
). - Le coeur du module qui est géré par l’utilisateur. Pour garder une cohérence esthétique et ergonomique, et faciliter le travail du développeur, il est recommandé d’utiliser l’instance globale $skin de la classe skin qui fournit des méthodes génériques d’affichage.
Ploopi fourni une classe skin générique qui peut être personnalisée au niveau du template backoffice. En effet chaque template backoffice inclut une classe skin spécifique qui permet de redéfinir certaines méthodes qui lui sont propres.
Créer un titre de page
| 1 |
echo $skin->create_pagetitle('Titre de page'); |
Créer un bloc
|
1 2 3 |
echo $skin->open_simplebloc('Titre du bloc'); <div style="padding:4px;">Contenu du bloc</div> echo $skin->close_simplebloc(); |
Gérer des onglets
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
$tabs = array(); $tabs['onglet_1'] = array( 'title' => 'Onglet 1', 'url' => "admin.php?tabItem=onglet_1" ); $tabs['onglet_2'] = array( 'title' => 'Onglet 2', 'url' => "admin.php?tabItem=onglet_2" ); $tabs['onglet_3'] = array( 'title' => 'Onglet 3', 'url' => "admin.php?tabItem=onglet_3" ); $tabItem= isset($_GET['tabItem']) ? $_GET['tabItem'] : 'onglet_1'; echo $skin->create_tabs($tabs, $tabItem); switch($tabItem) { case 'onglet_1': break; case 'onglet_2': break; case 'onglet_3': break; } |
Gérer une barre d’icônes
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
$toolbar = array(); $toolbar['icone_1'] = array( 'title' => 'Icone 1', 'url' => "admin.php?toolbarItem=icone_1", 'icon' => "icone1.png" ); $toolbar['icone_2'] = array( 'title' => 'Icone 2', 'url' => "admin.php?toolbarItem=icone_2", 'icon' => "icone2.png" ); $toolbarItem= isset($_GET['toolbarItem']) ? $_GET['toolbarItem'] : 'icone_1'; echo $skin->create_toolbar($toolbar,$toolbarItem); switch($toolbarItem) { case 'icone_1': break; case 'icone_2': break; } |
Afficher un tableau avancé
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
$columns = array(); $values = array(); $columns['left']['colonne1'] = array( 'label' => 'Colonne 1', 'width' => '100', 'style' => 'text-align:center;' ); $columns['auto']['colonne2'] = array( 'label' => 'Colonne 2', 'options' => array('sort' => true) ); $columns['right']['colonne3'] = array( 'label' => 'Colonne 3', 'width' => '100' ); $values[0]['values']['colonne1'] = array( 'label' => 'gras', 'style' => 'font-weight:bold;' ); $values[0]['values']['colonne2'] = array( 'label' => 321 ); $values[0]['values']['colonne3'] = array( 'label' => '01/01/2008', 'sort_label' => '20080101' ); $values[0]['description'] = 'description 0'; $values[0]['link'] = "admin.php?monlien0"; $values[1]['values']['colonne1'] = array( 'label' => 'normal', 'style' => 'font-weight:normal;' ); $values[1]['values']['colonne2'] = array( 'label' => 654 ); $values[1]['values']['colonne3'] = array( 'label' => '07/01/2008', 'sort_label' => '20080107' ); $values[1]['description'] = 'description 1'; $values[1]['link'] = "admin.php?monlien1"; $skin->display_array($columns, $values, 'nom_du_tableau', array('sortable' => true, 'orderby_default' => 'colonne2', sort_default' => 'DESC')); ?> |
Afficher un treeview
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
$treeview['list'][1] = array( 'id' => 1 'label' => 'ovensia', 'description' => 'site de la société ovensia' 'parents' => array(0), 'node_onclick' => "ploopi_skin_treeview_shownode('1', '".ploopi_queryencode("ploopi_op=fonction_de_refresh&hid=1")."', 'admin-light.php')", 'link' => 'http://www.ovensia.fr', 'icon' => 'ovensia.png' ); $treeview['list'][5] = array( 'id' => 5 'label' => 'ploopi', 'description' => 'site de la communauté ploopi' 'parents' => array(0, 1), 'node_onclick' => "ploopi_skin_treeview_shownode('5', '".ploopi_queryencode("ploopi_op=fonction_de_refresh&hid=5")."', 'admin-light.php')", 'link' => 'http://www.ploopi.org', 'icon' => 'ploopi.png' ); $treeview['list'][7] = array( 'id' => 7 'label' => 'ploopi', 'description' => 'site de la distribution GNU/Linux Debian' 'parents' => array(0, 1, 5), 'node_onclick' => "ploopi_skin_treeview_shownode('7', '".ploopi_queryencode("ploopi_op=fonction_de_refresh&hid=7")."', 'admin-light.php')", 'link' => 'http://www.debian.org', 'icon' => 'debian.png' ); $treeview['tree'][0][] = 1; $treeview['tree'][1][] = 5; $treeview['tree'][5][] = 7; echo $skin->display_treeview($treeview['list'], $treeview['tree']); |
Afficher un découpage de page et un nombre d’enregistrement par ecran
|
1 2 3 4 5 6 7 8 9 |
paramCutPage = array('nbMax' => $count, // Nombre d'enregistrement total 'by' => $limit_by, // Nombre d'enregistrement par page 'page' => $actual_page, // Page en cours 'post' => array('op' => 'actionhistory'), // Tableau contenant les paramètres post a passer en hidden 'answerby' => array(10,25,50,100,500)); // Tableau contenant la liste des choix de nombre d'enregistrement par page echo $skin->display_cut_page('cut_page1',$paramCutPage); |
display_cut_page retourne le code html a afficher qui est un “form”.
Il retourne donc aussi le $POST suivant (pour notre exemple)
|
1 2 3 4 5 6 |
$_POST['cut_page1_op'] = 'actionhistory'; // input hidden $_POST['cut_page1_by'] = '100'; // Nb d'enregistrement par page (fin de votre 'LIMIT' de votre requête) $_POST['cut_page1_page'] = '2'; // Numéro de la page sélectionnée $_POST['cut_page1_begin'] = '100'; // Début de votre 'LIMIT' de votre requête = 0 pour la page 1, ($_POST['page']-1 * $_POST['by']) pour la page $_POST['page'] |
Données qu’il est nécessaire de traiter pour les renvoyer à display_cut_page
Retour en haut de la page


