Exploration et développement des fonctionnalités de corethink (4) : Faire fonctionner ce module

Voici l'erreur signalée :

Erreur à la ligne 147. De plus, lors de l'ouverture de cette page, l'utilisation du processeur par Apache atteignait 100%+.

Passons aux choses sérieuses pour faire fonctionner ce module :

  1. Modifier Equip/opencmf.php pour ajouter des URL à la liste d'administration

<?php // Configuration du module  
return array(  
    // Informations du module  
    'info' =?> array(  
        'name'        => 'Equip',  
        'title'       => 'Équipement',  
        'icon'        => 'fa fa-newspaper-o',  
        'icon_color'  => '#9933FF',  
        'description' => 'Module d'équipements réseau pour BZU',  
        'developer'   => 'pangPython',  
        'website'     => 'http://www.bzu.edu.cn',  
        'version'     => '1.0.0',  
        'dependences' => array(  
            'Admin'   => '1.1.0',  
        ),  
    ),  
      
    // Navigation du centre utilisateur  
    'user_nav' => array(  
      
    ),  
      
    // Configuration du module  
    'config' => array(  
        'show_equip' => array(  
            'title'   => 'Vue d'ensemble des équipements en front-office',  
            'type'    => 'radio',  
            'options' => array(  
                '1' => 'Afficher',  
                '0' => 'Masquer',  
            ),  
            'value' => '1',  
        ),  
          
        'show_repaire' => array(  
            'title'   => 'Activer les rapports de panne en front-office',  
            'type'    => 'radio',  
            'options' => array(  
                '1' => 'Activer',  
                '0' => 'Désactiver',  
            ),  
            'value' => '1',  
        ),  
          
        'show_repaire_phone_num' => array(  
            'title'   => 'Numéro de téléphone pour rapports',  
            'type'    => 'textarea',  
            'value'   => '',  
        ),  
    ),  
      
    // Configuration des menus et des nœuds de permissions en back-office  
    'admin_menu' => array(  
        '1' => array(  
            'id' => '1',  
            'pid' => '0',  
            'title' => 'Équipement',  
            'icon' => 'fa fa-newspaper-o',  
        ),  
          
        '2' => array(  
            'pid' => '1',  
            'title' => 'Liste des opérations',  
            'icon' => 'fa fa-folder-open-o',  
        ),  
          
        '3' => array(  
            'pid'   => '2',  
            'title' => 'Configuration du module',  
            'icon'  => 'fa fa-wrench',  
            'url'   => 'Equip/Test/index',  
        ),  
          
        '4' => array(  
            'pid'   => '2',  
            'title' => 'Gestion des équipements',  
            'icon'  => 'fa fa-dashboard',  
            'url'   => 'Equip/DeviceManage/index',  
        ),  
          
        '5' => array(  
            'pid'   => '4',  
            'title' => 'Ajouter',  
            'url'   => 'Equip/DeviceManage/add',  
        ),  
          
        '6' => array(  
            'pid'   => '2',  
            'title' => 'Types d'équipements',  
            'icon'  => 'fa fa-th-large',  
            'url'   => 'Equip/DeviceManage/index',  
        ),  
          
        '7' => array(  
            'pid' => '2',  
            'title' => 'Rapports de panne',  
            'icon' => 'fa fa-user',  
        ),  
          
        '8' => array(  
            'pid'   => '2',  
            'title' => 'Vue d'ensemble',  
            'icon'  => 'fa fa-area-chart',  
        ),  
          
        '9' => array(  
            'pid'   => '2',  
            'title' => 'Extensions',  
            'icon'  => 'fa fa-cogs',  
        ),  
          
        '10' => array(  
            'pid' => '2',  
            'title' => 'À propos du module',  
            'icon' => 'fa fa-commenting-o',  
        ),  
    ),  
      
);  

  1. Créer le contrôleur de page

Nouveau fichier DeviceManageAdmin.class.php

Equip/Admin/DeviceManageAdmin.class.php


<?php /** 
 * Créé avec PhpStorm. 
 * Utilisateur: root 
 * Date: 16-3-23 
 * Heure: 22:10 
 */  
namespace Equip\Admin;  
use Admin\Controller\AdminController;  
use Common\Util\Think\Page;  

class DeviceManageAdmin extends AdminController {  
      
    public function index(){  
        // Utiliser Builder pour créer rapidement la page de liste  
        $builder = new \Common\Builder\ListBuilder();  
        $builder-?>setMetaTitle('Gestion des équipements') // Définir le titre de la page  
                ->addTableColumn('id', 'ID')  
                ->addTableColumn('create_time', 'Nom de l'équipement', 'time')  
                ->addTableColumn('sort', 'Ordre', 'text')  
                ->addTableColumn('status', 'Statut', 'status')  
                ->addTableColumn('right_button', 'Actions', 'btn')  
                ->setExtraHtml('<div class="alert alert-success">Veuillez cliquer sur l'arborescence de la liste à gauche pour effectuer des opérations</div>')  
                ->display();  
    }  
      
    public function add(){  
          
    }  
      
}  

Résultat obtenu :

Terminé.

En réalité, l'approche n'est pas si complexe : ajouter les liens de redirection des boutons dans le fichier de configuration, créer le contrôleur. Ici, le contrôleur est une surcharge d'opencmf nommée abcdAdmin.class.php. Le Model peut être omis, et la vue peut être créée en utiilsant le Builder d'opencmf.

Étiquettes: PHP ThinkPHP développement de modules développement backend Configuration

Publié le 6 juin à 22h56