Blog (archivio categorie)

Stampa

Nascondere la form di login nella modalità offline di Joomla

Scritto da Pisu il 23 Aprile 2011. Scritto in Computer e Tecnologia

Quando si attiva la modalita offline dalla configurazione globale di Joomla 1.5, per svolgere attività di manutenzione, i visitatori che tentano di accedere al sito vedono ua pagina di avviso, con il testo definito nella configurazione stessa, il logo di Joomla e la possibilità di accedere con login e password, funzionalità riservata agli amministratori del sito per potere comunque visionare normalmente le pagine.

joomla_offlineMolto probabilmente si vorrà rimuovere il logo di Joomla (per quanto bello) o sostituirlo con un proprio logo aziendale, e personalizzare lo stile della pagina.

Questa pagina è definita nel file templates/system/offline.php, è facilmente modificabile con una minima conoscenza di HTML e CSS, e segnalo questo articolo interessante per la sua personalizzazione grafica: Personalizzare la pagina "offline" di Joomla.

A mio avviso è una buona idea anche nascondere il modulo di login, che potrebbe confondere eventuali  utenti; possiamo  fare in modo che il modulo compaia premendo ad esempio il tasto "L". Ecco come fare.

1) per prima cosa è necessario nascondere il modulo (FORM), individuare nel file offline.php la riga seguente:

<form action="index.php" method="post" name="login" id="form-login">

Quindi aggiungere uno stile display:none, in questo modo:

<form action="index.php" method="post" name="login" id="form-login" style="display:none">

2) aggiungere quindi uno script che, alla pressione del tasto "L", lo stile del modulo venga portato a display:block, questo script va aggiunto prima del tag di chiusura intestazione </head>:

<script type="text/javascript">
function handleKeyPress(e) {
if(window.event) // IE
keynum = e.keyCode;
else if(e.which) // Netscape/Firefox/Opera
keynum = e.which;
if (keynum==108) {
document.getElementById("form-login").style.display = "block";
}
}
</script>

3) agganciare questo script all'evento di pressione tasti sul corpo della pagina, individuando la riga seguente:

<body>

E modificandola in questo modo:

<body onkeypress="handleKeyPress(event)">