Goto AdminMachinController → Chercher $this->fields_list
http://doc.prestashop.com/display/PS16/Adding+a+configuration+page
'is_pro' => array( 'title' => $this->l('Pro - valid'), 'align' => 'text-center', 'type' => 'bool', 'orderby' => false, 'callback' => 'isProValid', ),
Fonction dans le même fichier :
// Fonction pour afficher si le client est pro, et s'il est ou non dans le groupe des pros non validés public function isProValid($value, $customer) { if ($value) { $return = '<i class="icon-check list-action-enable action-enabled"></i> - '; } else { return '<i class="icon-remove list-action-enable action-disabled"></i> - <i class="icon-remove list-action-enable action-disabled"></i>'; } $groups = Customer::getGroupsStatic($customer['id_customer']); $valid = true; for( $i = 0, $max = count($groups) ; $i < $max ; $i++ ) { if ( $groups[$i] == 4 ) { $return .= '<i class="icon-remove list-action-enable action-disabled"></i>'; $valid = false; } } if($valid) { $return .= '<i class="icon-check list-action-enable action-enabled"></i>'; } return $return; }
Pour ça il faut modifier les templates du thème admin. Ils se trouvent dans /admin/themes/nom_du_theme/template/controllers/nom_du_controlleur/helpers/view/view.tpl
Pour un module (need a controller).
À l'installation :
public function install() { // ... // On met le menu dans Administration $presta_pop_tab = new Tab(); $presta_pop_tab->class_name = 'AdminPrestaPop'; $presta_pop_tab->module = 'presta_pop'; $presta_pop_tab_admin_id = Tab::getIdFromClassName('AdminAdmin'); if ($presta_pop_tab_admin_id) { $presta_pop_tab->id_parent = $presta_pop_tab_admin_id; } else { $presta_pop_tab->id_parent = 0; } foreach (Language::getLanguages(true) as $lang) { $presta_pop_tab->name[$lang['id_lang']] = 'Presta pop'; } $presta_pop_tab->save(); // ... }
Désinstallation :
public function uninstall() { // ... // Virer le lien dans le menu $presta_pop_tab_id = Tab::getIdFromClassName('AdminPrestaPop'); if ($presta_pop_tab_id) { $presta_pop_tab = new Tab($presta_pop_tab_id); $presta_pop_tab->delete(); } // ... }
function install() { if (parent::install() == false || $this->registerHook('displayBackOfficeHeader') == false) { return false; } // ... } public function hookDisplayBackOfficeHeader($params) { return '<style type="text/css">.icon-AdminKoregrafOptions:before{ content: ""; }</style>"'; }