Maison > Article > Tutoriel CMS > Que dois-je faire si phpcms ne peut pas supprimer une colonne ?
phpcms ne peut pas supprimer la colonne car l'administrateur du site n'a pas l'autorisation de supprimer la colonne. La solution : recherchez et ouvrez d'abord le fichier "admin.class.php" puis ajoutez l'autorisation de suppression de l'administrateur du site. la colonne ; la modification finale du fichier "category.php" suffit.
phpcms ne peut pas supprimer les colonnes ? L'administrateur du site PHPCMS n'a pas l'autorisation de supprimer les colonnes
phpcms V9 sauf super administrateur , les autres administrateurs n'ont pas le pouvoir de supprimer ou de modifier des colonnes. Cela peut être un bug dans le système.
Analyse :
PHPCMS v9 juge uniquement les autorisations enregistrées dans la table admin_role_priv lors de l'évaluation des autorisations. C'est-à-dire les « paramètres d'autorisation » que nous effectuons lors de la configuration des rôles, quelles que soient les « autorisations de colonne » que nous définissons. Il ressort de admin:check_priv() que cette méthode ne prend pas en compte les autorisations de colonne. Ainsi, lorsque nous nous connectons en utilisant une gestion non super, si nous modifions ou supprimons une colonne, nous serons invités avec le message "Vous n'êtes pas autorisé à utiliser cet élément".
Emplacement : phpcms/modules/admin/classes/admin.class.php
Recommandé : "Tutoriel phpcms"
Solution :
1. Recherchez /phpcms/modules/admin/classes/admin.class.php, recherchez
$r =$privdb->get_one(array('m'=>ROUTE_M,'c'=>ROUTE_C,'a'=>$action,'roleid'=>$_SESSION['roleid'],'siteid'=>$siteid));
dedans, probablement à la ligne 177, puis ajoutez :
//添加站点管理员的删除栏目权限 by:醒木 if(ROUTE_C == 'category'){ $catid = $_GET['catid'] ? $_GET['catid'] : $_POST['catid']; //获取角色当前权限设置 pc_base::load_app_class('role_cat', '', 0); $priv = role_cat::get_roleid($_SESSION['roleid'], $siteid); if($priv[$catid][$action]) $r = true; }sous la phrase
2. Recherchez
foreach ($arrchildid_arr as $arr_v) { $this->update_priv($arr_v, $_POST['priv_groupid'], 0); }
dans /phpcms/modules/admin/category.php et remplacez-le par :
foreach ($arrchildid_arr as $arr_v) { $this->update_priv($arr_v, $_POST['priv_roleid']); //添加站点管理员的删除栏目权限 by:醒木 $this->update_priv($arr_v, $_POST['priv_groupid'], 0); }
Astuce :
N'oubliez pas de vérifier l'autorisation correspondante de suppression des marchandises lors de l'ajout de la colonne de modification des marchandises.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!