phpcms kann die Spalte nicht löschen, da der Site-Administrator keine Berechtigung zum Löschen der Spalte hat. Die Lösung: Suchen und öffnen Sie zuerst die Datei „admin.class.php“ und fügen Sie dann die Berechtigung des Site-Administrators zum Löschen hinzu die Spalte; endgültige Änderungsdatei „category.php“ reicht aus.
phpcms kann keine Spalten löschen? Der PHPCMS-Site-Administrator hat keine Berechtigung zum Löschen von Spalten
phpcms V9 außer Super Administrator, andere Administratoren haben keine Berechtigung zum Löschen oder Ändern von Spalten. Dies kann ein Fehler im System sein.
Analyse:
PHPCMS v9 beurteilt bei der Beurteilung von Berechtigungen nur die in der Tabelle admin_role_priv aufgezeichneten Berechtigungen. Das heißt, die „Berechtigungseinstellungen“, die wir beim Einrichten von Rollen vornehmen, unabhängig von den „Spaltenberechtigungen“, die wir festlegen. Aus admin:check_priv() ist ersichtlich, dass diese Methode keine Rücksicht auf Spaltenberechtigungen nimmt. Wenn wir uns also mit Nicht-Super-Management anmelden und eine Spalte ändern oder löschen, werden wir mit der Meldung „Sie haben keine Berechtigung zum Bedienen dieses Elements“ angezeigt.
Speicherort: phpcms/modules/admin/classes/admin.class.php
Empfohlen: „phpcms-Tutorial“
Lösung:
1. Suchen Sie /phpcms/modules/admin/classes/admin.class.php, suchen Sie darin
$r =$privdb->get_one(array('m'=>ROUTE_M,'c'=>ROUTE_C,'a'=>$action,'roleid'=>$_SESSION['roleid'],'siteid'=>$siteid));
, wahrscheinlich in Zeile 177, und fügen Sie dann Folgendes hinzu:
//添加站点管理员的删除栏目权限 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; }
2. Suchen Sie
foreach ($arrchildid_arr as $arr_v) { $this->update_priv($arr_v, $_POST['priv_groupid'], 0); }
in /phpcms/modules/admin/category.php und ändern Sie es in:
foreach ($arrchildid_arr as $arr_v) { $this->update_priv($arr_v, $_POST['priv_roleid']); //添加站点管理员的删除栏目权限 by:醒木 $this->update_priv($arr_v, $_POST['priv_groupid'], 0); }
Tipps:
Denken Sie daran, die entsprechende Berechtigung zum Löschen von Waren zu überprüfen, wenn Sie die Spalte „Warenänderung“ hinzufügen.
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn phpcms eine Spalte nicht löschen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!