Droits pour accéder à la config et à l'admin d'un plugin
Jerry Wham
Member
dans Entraide
Bonjour,
J'ai écrit un petit plugin qui me permet d'ajouter des informations dans une div. Ces informations sont saisies dans la page config du plugin.
Je voudrais que seuls les admins et les gestionnaires puissent modifier ces infos.
J'ai donc créé une page admin.php dans mon plugin afin d'avoir le lien dans le menu de gauche du panneau général d'administration. Ce lien redirige automatiquement vers la page config
Dans le fichier principal du plugin, dans la méthode __construct(), j'ai défini les droits pour les deux pages config et admin comme suit :
Le lien s'affiche bien dans le menu de gauche, que je sois connecté avec un compte admin ou avec un compte gestionnaire.
Par contre, je ne peux atteindre la page config qu'avec le compte admin.
Qu'est-ce que j'ai oublié ?
Merci pour votre aide.
J'ai écrit un petit plugin qui me permet d'ajouter des informations dans une div. Ces informations sont saisies dans la page config du plugin.
Je voudrais que seuls les admins et les gestionnaires puissent modifier ces infos.
J'ai donc créé une page admin.php dans mon plugin afin d'avoir le lien dans le menu de gauche du panneau général d'administration. Ce lien redirige automatiquement vers la page config
<?php if (!defined('PLX_ROOT')) exit;?>
<?php header('location:parametres_plugin.php?p='.urlencode('monPlug'));?>
Dans le fichier principal du plugin, dans la méthode __construct(), j'ai défini les droits pour les deux pages config et admin comme suit :
$this->setAdminProfil(PROFIL_ADMIN, PROFIL_MANAGER);
$this->setConfigProfil(PROFIL_ADMIN, PROFIL_MANAGER);
Le lien s'affiche bien dans le menu de gauche, que je sois connecté avec un compte admin ou avec un compte gestionnaire.
Par contre, je ne peux atteindre la page config qu'avec le compte admin.
Qu'est-ce que j'ai oublié ?
Merci pour votre aide.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Sujet auto-résolu.
PS : par contre, quand on a plusieurs liens d'affichés dans le menu admin via les pages admin.php de plusieurs plugins, si on clique sur un de ces liens, tous les liens affichés de cette façon ont la classe "active" et sont donc surlignés.
Je ne sais pas si je suis très clair ???
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
J'arrive très bien à faire un panneau de config, accessible via la gestion des plugins.
Mais lorsque je crée un fichier admin.php avec le même contenu que config.php,
que je déclare bien les droits dans le plugin, ça ne marche pas ...
Faut-il laisser le fichier config ?
Y a-t-il autre chose à faire ?
si je n'ai pas de fichier config.php mais seulement admin.php,
j'ai bien le lien dans le menu de gauche, qui mène bien à mon panneau de gestion.
mais lorsque je clique sur "enregistrer" ça me note "accès interdit"
je pense que lorsque le plugin enregistre les paramètres, il y a une redirection
qui doit être le fichier config.php ?
du coup il faut aussi ce fichier ou une redirection ?
j'avais oublié de mettre la cible du formulaire vers plugin.php?p=pimpMyTemplate !
donc pour avoir un panneau d'administration d'un plugin,
on procède comme pour un panneau de configuration sauf qu'il faut adapter les liens de redirection vers plugin.php?p=nom-du-plugin
et on n'a pas besoin d'un fichier config ... sauf si on dit que config.php est accessible que par un certain profil et le panneau d'admin par un autre