Restreindre l'accès administrateur à certaines rubriques

garys02garys02 Member
mai 2020 modifié dans Entraide

Bonjour,
Je désirerais donner l'accès administrateur à des membres mais seulement à certaines rubriques telles que: articles et 2 plugins. Et si possible choisir les onglets à l'intérieur des plugin qui seront visibles par eux.

Existe-t-il un plugin pour cela ? Est-ce que c'est faisable et si oui, pouvez-vous me donner une piste pour le faire ?

Merci

Réponses

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Bonjour,

    Il existe 5 profils d'utilisateurs différents avec des droits de plus en plus restreints. Tu trouveras des détails avec le lien suivant :
    https://wiki.pluxml.org/personnaliser/personnalisation/#comptes-utilisateurs

    Au niveau des plugins, cela dépend du développeur mais c'est facile à changer. Voir la doc ci-dessous :
    setProfilConfig() : https://wiki.pluxml.org/developper/developpement/#securite
    SetProfilAdmin() : https://wiki.pluxml.org/developper/developpement/#definir-les-droits-dacces

    Il y a 2 pages dur le wiki de PluXml pour plus de détails :
    https://wiki.pluxml.org/personnaliser/personnalisation/
    https://wiki.pluxml.org/developper/developpement/

  • garys02garys02 Member

    Oui ce que je cherchais c'est un accès plus sélectif à certains plugins et rubriques en fonction des membres inscrits. Je vais voir tout ça. Merci beaucoup.

  • garys02garys02 Member
    mai 2020 modifié

    Merci @bazooka07 c'était pas difficile finalement. J'aimerais modifier la couleur de fond du menu d'administration en fonction du profil utilisateur. Exemple: writer: jaune, editor: vert etc...
    Dans le theme admin j'ai ça:
    .aside {
    background-color: #222;
    bottom: 0;
    overflow: auto;
    padding-right: 0;
    position: fixed;
    top: 0;
    .aside .unstyled-list.profil {
    background-color: #333;
    border-top: 1px solid #888;
    border-bottom: 1px solid #888;

    et si c'est bien dans le top.php j'ai ça:

                  $menus = array();
                  $userId = ($_SESSION['profil'] < PROFIL_WRITER ? '[0-9]{3}' : $_SESSION['user']);
                       (?)
                  $nbartsmod = $plxAdmin->nbArticles('all', $userId, '_');
         
    

    Je crée .aside2 et aside .unstyled-list.profil2 pour changer mon background. Comment lui dire d'aller chercher cette règle de style .aside2?
    Merci

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    mai 2020 modifié

    Dans "core/admin/top.php", il suffit de rajouter une "class" à la balise <body> en fonction du profil :

    <body id="<?= basename($_SERVER['SCRIPT_NAME'], ".php") ?>" class="profil-<?= $_SESSION['profil'] ?>"
    

    Ensuite, il faut affiner les règles CSS pour .aside :

    .aside { /* par défaut */
       background-color: #222; 
    }
    body.profil-4 { /* profil writer */
      background-color: red;
    }
    body.profil-3 { /* profil editor */
      background-color: green;
    }
    
  • garys02garys02 Member
    mai 2020 modifié

    Je m'excuse j'ai du mal formuler, j'aimerais modifier la couleur de fond du aside seulement, c'est à dire la sidebar de gauche en admin. Ce code fonctionne, mais pour le background du body. Je pense que c'est cette ligne à modifier ? :

    < aside class="aside col sml-12 med-3 lrg-2 sml-text-left med-text-right">

  • cpalocpalo Member
    mai 2020 modifié

    Bonsoir

    Il y a aussi une option dans configuration avancée qui permet de créer une feuille de styles pour modifier les styles de l'administration
    Emplacement et nom du fichier css personnel pour la personnalisation de l'interface d'administration (option)

  • garys02garys02 Member
    mai 2020 modifié

    J'aimerais différencier les niveaux d'administration et attribuer une couleur par profil à la sidebar. Si je mets un css perso, il va me modifier le css pour tous les profils.

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    mai 2020 modifié

    Oui et non. J'ai plutôt mal écrit les règles CSS :

    body.profil-4  > aside:first-of-type { /* profil writer */
      background-color: red;
    }
    body.profil-3 > aside:first-of-type { /* profil editor */
      background-color: green;
    }
    

    Il est préférable de modifier la class de <body>. Comme cela, tu peux aussi modifier le panneau de droite dans l'édition de l'article.

  • garys02garys02 Member
    mai 2020 modifié

    Top!
    Merci

Connectez-vous ou Inscrivez-vous pour répondre.