Plusieurs pages d'admin pour un plugin?

VictorVictor Member
Salut à tous,
Je me suis attaqué à la doc des plugins et je me demandai si il était possible d'utiliser plusieurs pages dans l'interface d'admin, un peu sur le modèle du menu Paramètres qui ouvre l'accès à d'autre pages de config..

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour
    Non il n'y a rien de prévu, mais cela ne veut pas dire que ce n'est pas faisable.

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • JosJos Member
    A la rigueur, lorsque tu créé la page de ton admin, tu met ton contenu dans plusieurs div, et tu utilise une méthode qui fait apparaître chaque div dans un menu. Lorsqu'une personne clique sur un des lien du menu, la div apparaît. Enfin c'est du bricolage :)
  • VictorVictor Member
    Ou alors des ancres :D
  • VictorVictor Member
    mars 2012 modifié
    Bon, j'ai essayé de bricoler...
    [list=*]
    [*]- Je vais dans core/admin/plugin.php rajouter le traitement d'une variable GET dans l'URL.
    Sous le code:
    $plugin = isset($_GET['p'])?urldecode($_GET['p']):'';
    $plugin = plxUtils::nullbyteRemove($plugin);
    
    Je rajoute:
    $plugin_page = isset($_GET['page'])?urldecode($_GET['page']):'';
    $plugin_page = plxUtils::nullbyteRemove($plugin_page);
    
    Et je modifie la ligne 16:
    $filename = realpath(PLX_PLUGINS.$plugin.'/admin'. $plugin_page .'.php');
    

    - Je me crée autant de fichier admin.php que nécessaire: admin.php (page principale obligatoire), admin1.php (page 1), ..., adminx.php (page x)

    sur ce modèle:
    <?php if(!defined('PLX_ROOT')) exit; ?>
    <h2><?php $plxPlugin->lang('L_TITLE') ?></h2>
    <p><?php $plxPlugin->lang('L_DESCRIPTION') ?></p>
    <p>Page admin #3 du plugin de test.</p>	
    <ul>
    	<li><a href="<?php echo $_SERVER['PHP_SELF'] . '?p=plxTest&page=1';?>" title="Page 1">Page 1</a> du plugin de test</li>
    	<li><a href="<?php echo $_SERVER['PHP_SELF'] . '?p=plxTest&page=2';?>" title="Page 2">Page 2</a> du plugin de test</li>
    	<li><a href="<?php echo $_SERVER['PHP_SELF'] . '?p=plxTest&page=3';?>" title="Page 3">Page 3</a> du plugin de test</li>
    	<li><a href="<?php echo $_SERVER['PHP_SELF'] . '?p=plxTest';?>" title="Page principale">Page principale</a> du plugin de test</li>
    </ul>
    
    [/*]
    [/list]
    Et hop!
    plugin1.png
    Dites moi ce que vous en pensez! C'est pas trop crado?
  • JosJos Member
    Le principe est pas mal, c'est un peu ce que je pensai, mais ta façon d'aborder la chose est meilleure que la mienne ;)


    Après tu peu toujours améliorer la présentation en créant des boutons pour ton menu en ajoutant des classes, et en les configurant en css.
  • VictorVictor Member
    On est d'accord, je parle seulement mécanique pour l'instant... :)
Connectez-vous ou Inscrivez-vous pour répondre.