it-swarm-es.tech

Eliminar elementos del menú de administración del panel de control de Joomla

Estoy haciendo mi pasantía como desarrollador web en una empresa. Tenemos un cliente que posee un sitio de blog creado con Joomla 3.3. El problema es que el cliente es realmente curioso y no sabe nada acerca de las computadoras, por lo que está cavando a diario dentro del panel de administración que destruye cosas. ¡Mi jefe me dijo que editara el panel de control de Joomla de esa manera para que si inicia sesión, algunos elementos del menú Admin se vuelvan invisibles!

Entonces descubrí el código que crea el menú: /home/sitename/public_html/administrator/templates/isis/index.php

y el código de bloque:

<div<?php echo ($this->params->get('admin_menus') != '0') ? ' class="nav-collapse"' : ''; ?>>
                <jdoc:include type="modules" name="menu" style="none;" />
                <ul class="nav nav-user<?php echo ($this->direction == 'rtl') ? ' pull-left' : ' pull-right'; ?>">
                    <li  class="dropdown" >

Sé cómo hacer que los elementos específicos que quiero sean invisibles:

style="<?php if($user->name=="user10") { echo "display:none;";}?>">

pero el problema es que el menú de administración se incluye con esto: <

jdoc:include type="modules" name="menu" style="none;" />

Estoy buscando en el archivo public_html/administrador/modules/pero no puedo encontrar nada que coincida. ¿Alguien tiene alguna idea de dónde podría estar?

Itdit: después de un montón de horas lo obtuve, así que lo comparto si alguien más lo necesita en el futuro:

** administrador/** módulos/mod_menu/menu.php (estaba buscando en la interfaz antes: S)

echo "<li" . $class  . ">";

editado a:

$user  = JFactory::getUser();
$tmpvar= 'style="display:none;"';
$rekt=$this->_current->title;

if(($user->name=="user10") && ( $rekt== "Content")) {
$childcounteryo=0;
}
if (($user->name=="user10") && ( $rekt == "System") || $rekt== "Extensions" || $rekt=="Help" ) {
echo "<li" . $class  . $tmpvar . ">";

}else {
echo "<li" . $class  . ">";
}

foreach ($this->_current->getChildren() as $child)
            {   
                if ($childcounteryo !=1) {
                $this->_current = & $child;
                $this->renderLevel($depth++);
                }
                $childcounteryo+=1;
            }

(en la pestaña de contenido quería eliminar el segundo submenú)

3
IseNgaRt

No estoy seguro de qué elementos desea eliminar exactamente para su cliente, sin embargo, lo que puede hacer es cambiar su grupo de usuarios de Super Admin a Admin que eliminará muchas de las opciones predeterminadas, como el Administrador de idiomas y la Configuración global.

Lo bueno de Joomla es que utiliza ACL (Lista de control de acceso) que le permite elegir qué acciones y vistas están disponibles para grupos de usuarios específicos.

La siguiente documentación de Joomla lo guiará mucho con esto:

http://docs.joomla.org/J3.x:Access_Control_List_Tutorial

Espero que esto ayude

Actualizar:

  1. Vaya a Extensiones >> Administrador de extensiones >> Administrar
  2. Haga clic en Opciones en la esquina superior derecha y luego haga clic en la pestaña Permisos
  3. Seleccione la pestaña Administrador a la izquierda
  4. Establezca la opción Eliminar en Denegada

Esto evitará que el cliente con permisos de administrador desinstale extensiones.

4
Lodder

En primer lugar, evite otorgar acceso de superusuario a usuarios en los que no puede confiar. Super User tiene los mayores privilegios y puede hacer cualquier cosa en el sitio. Vea si al hacer del usuario un administrador simple será suficiente para lo que desea.

De lo contrario, Joomla incorpora un sistema ACL profundo , que le permitirá personalizar quién tiene acceso a qué.

Encuentre más información aquí: http://docs.joomla.org/J3.x:Access_Control_List_Tutorial

Sin embargo, hay aún más cosas que puede hacer para crear una navegación de fondo personalizada y aplicar restricciones específicas.

Hay extensiones que le permitirán hacer esto ... Recomiendo Administrador del menú de administración & Administrador de acceso .

2
FFrewin