Back to top

Autore Topic: HACK: JSCookMenu Disabilitato per Pannello di amministrazione  (Letto 1142 volte)

Offline es@god

  • Nuovo arrivato
  • *
  • Post: 1
    • Mostra profilo
Ciao ragazzi,

vi posto lo stessa cosa cosa che ho inserito nel forum di Joomla.org.

Vi regalo un piccolo Hack al JSCookMenu per disabilitare definitivamente il menu nel Backend di Joomla.

Ho aggiunto una variabile alla funzione cmDraw (che è quella che viene utilizzata per creare il menu) per abilitare e disabilitare il menu.

Se la variabile è uguale true/1 il menu viene creato regolarmente.

Se la variabile è uguale false/0 il menu viene creato regolarmente, ma:
- Vengono creati solamente i Main Node (Le voci di Primo Livello)
- Tutte le azioni dei Main Node vengono disabilitate.
- Non vengono creati i sotto menu.
- Viene applicata una classe css apposita per modificare eventualmente colore e cursore del Mouse.

Tutto questo per avere un solo metodo di creazione del menu e in base alla varibile in $_GET abilitare o disabilitare il menu.

Spero possa essere utile.

Ciao

//*** Funzione JS
Codice: [Seleziona]
function cmDraw( id, menu, orient, nodeProperties, prefix, menu_enabled )
{
   if( !nodeProperties )
      nodeProperties = _cmNodeProperties;

   if( !prefix )
      prefix = '';

   if( !orient )
      orient = 'hbr';

   if( menu_enabled == '' || menu_enabled == null )
      menu_enabled = 1;

   var obj = cmGetObject( id );
   var str = '<table summary="main menu" class="' + prefix + 'Menu" cellspacing="' + nodeProperties.mainSpacing + '">';
   var strSub = '';
   var orientStr = String( orient );
   var orientSub;
   var vertical;
   var i;
   var item;
   var idSub;
   var hasChild;

   var classStr;

   //*** DRAW THE MAIN MENU ITEMS
   //*** HORIZONTAL MENU
   if( orientStr.charAt( 0 ) == 'h' )
   {

      orientSub = 'v' + orientStr.substr( 1, 2 );
      str += '<tr>';
      vertical = false;
   }
   //*** VERTICAL MENU
   else
   {
      orientSub = 'v' + orientStr.substr( 1, 2 );
      vertical = true;
   }

   for( i = 0; i < menu.length; ++i )
   {
      item = menu[i];
     
      if( !item )
         continue;

      hasChild = ( item.length > 5 && menu_enabled );
      idSub = hasChild ? cmNewID() : null;

      if( item == _cmSplit )
      {
         str += cmSplitItem( prefix, 1, vertical );
         str += vertical? '</tr>' : '</td>';
         continue;
      }
      else if( item[0] == _cmNoAction )
      {
         str += cmNoActionItem( item, prefix );
         str += vertical? '</tr>' : '</td>';
         continue;
      }
     
      str += vertical ? '<tr' : '<td';
     
      if( menu_enabled )
      {
         str += ' class="' + prefix + 'MainItem"';
         str += cmActionItem( item, prefix, 1, idSub, orient, nodeProperties ) + '>';
      }
      else
      {
         str += ' class="' + prefix + 'MainDisabled"';
      }

      classStr = prefix + 'Main' + ( hasChild ? 'Folder' : 'Item' );

      str += vertical ? '<td' : '<span';
      str += ' class="' + classStr + 'Left">';
      str += (item[0] == null) ? ( hasChild ? nodeProperties.mainFolderLeft : nodeProperties.mainItemLeft ) : item[0];
      str += vertical ? '</td>' : '</span>';
     
      str += vertical ? '<td' : '<span';
      str += ' class="' + classStr + 'Text">';
      str += item[1];
      str += vertical ? '</td>' : '</span>';
     
      str += vertical ? '<td' : '<span';
      str += ' class="' + classStr + 'Right">';
      str += hasChild ? nodeProperties.mainFolderRight : nodeProperties.mainItemRight;
      str += vertical ? '</td>' : '</span>';
     
      str += vertical ? '</tr>' : '</td>';
     
      if( hasChild )
         strSub += cmDrawSubMenu( item, prefix, idSub, orientSub, nodeProperties );
   }

   if( !vertical )
      str += '</tr>';

   str += '</table>' + strSub;
   obj.innerHTML = str;
}


//*** Classe CSS da aggiungere al foglio di stile del menu
Codice: [Seleziona]
.ThemeOfficeMainDisabled,
.ThemeOfficeMainDisabled td,
.ThemeOfficeMainDisabled span
{
   cursor: default;
   color: #CCCCCC;
}
« Ultima modifica: 13 Feb 2008, 14:39:15 da es@god »

 



Web Design Bolzano Kreatif