Nascondere la form di login nella modalità offline di Joomla
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.
Molto 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)">