Je fais mon stage en tant que développeur web dans une entreprise. nous avons un client qui possède un site de blog créé avec joomla 3.3. Le problème, c’est que le client est vraiment curieux et qu’il ne connaît rien aux ordinateurs, alors il fouille tous les jours à l’intérieur de l’admin cpanel en train de détruire des objets. Mon patron m'a dit de modifier le panneau de contrôle de joomla de cette manière, de sorte que s'il se connecte, certains éléments du menu Admin deviennent invisibles!
J'ai donc découvert le code qui crée le menu: /home/sitename/public_html/administrator/templates/isis/index.php
et le code de bloc:
<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" >
Je sais comment rendre invisibles les éléments spécifiques que je veux:
style="<?php if($user->name=="user10") { echo "display:none;";}?>">
mais le problème est que le menu admin est inclus avec ceci: <
jdoc:include type="modules" name="menu" style="none;" />
Je cherche dans le fichier public_html/administrator/modules/mais je ne trouve rien qui lui corresponde. est-ce que quelqu'un a une idée de l'endroit où il pourrait être?
Dit: après des heures et des heures, je l'ai, alors je le partage si quelqu'un d'autre en a besoin à l'avenir:
** administrateur/** modules/mod_menu/menu.php (je cherchais dans le frontend auparavant: S)
echo "<li" . $class . ">";
édité à:
$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;
}
(dans l'onglet de contenu voulait supprimer le 2ème sous-menu)
Je ne sais pas exactement quels éléments vous souhaitez supprimer pour votre client. Toutefois, vous pouvez modifier son groupe d'utilisateurs de , super administrateur en Admin qui supprimera de nombreuses options par défaut telles que le gestionnaire de langues et la configuration globale.
La bonne chose à propos de Joomla est qu’il utilise ACL (liste de contrôle d’accès) qui vous permet de choisir les actions et les vues disponibles pour des groupes d’utilisateurs spécifiques.
La documentation Joomla suivante vous guidera beaucoup avec ceci:
http://docs.joomla.org/J3.x:Access_Control_List_Tutorial
J'espère que cela t'aides
Cela empêchera le client disposant des autorisations d'administrateur de désinstaller des extensions.
Tout d'abord, évitez de donner super utilisateur aux utilisateurs en qui vous ne pouvez avoir confiance. Le super utilisateur a les privilèges les plus élevés et peut tout faire sur le site. Voyez si en faisant à l'utilisateur un simple administrateur sera suffisant pour ce que vous voulez.
Sinon, Joomla incorpore un système ACL profond , qui vous permettra de personnaliser qui a accès à quoi.
Trouvez plus d'infos ici: http://docs.joomla.org/J3.x:Access_Control_List_Tutorial
Cependant, vous pouvez faire encore plus, créer une navigation d’arrière-plan personnalisée et appliquer des restrictions spécifiques.
Il y a des extensions qui vous permettront de le faire ... Je recommande Gestionnaire de menus Admin & Gestionnaire d'accès .