pagina login e amministrazione separata

No replies
Joined: 16 Feb 2007
User offline. Last seen 34 settimane 2 giorni ago.

un saluto a tutti.... il mio problema è.....
vorrei separare la pagina di amministrazione e login dal template frontend che uso....
io ho operato in questo modo:
- ho inserito il file page.tpl.php dell'altro template (quello che vorrei usare per l'admin) nella cartella di quello di front end rinominandolo page-admin.tpl.php
- ho importato anche il file style.css rinominandolo admin-style.css e modificando page-admin.tpl.php ho sostituito la riga di comando style con questa:
@import "

<?php
print base_path(). $directory;
?>
/admin-style.css";
- ho scritto nel file template.php il seguente codice:
<?php
function _phptemplate_variables($hook, $vars = array()) {
    switch (
$hook) {
        case
'page':
        global
$user;
            if (
arg(0) == 'admin'){
               
$vars['template_file'] = 'page-admin';
            }
           
// if ((arg(0) == 'user')&& (arg(1)=='suburbanlab')){ /* se siamo nella pagina login*/
                // if ($user->uid == 0) {
                    // $vars['template_file'] = 'page-admin';
                // }
                // elseif (arg(1) == 'login' || arg(1) == 'register' || arg(1) == 'password' ) {
                    // $vars['template_file'] = 'page-admin';
                // }
            // }
           
if ((arg(0)=='node') && (arg(1)=='index')){
               
$vars['template_file'] = 'page-admin';
            }
            if (
arg(0) == 'node' && is_numeric(arg(1)) && arg(2) == 'workflow') { /* se siamo nel workflow*/
               
$vars['template_file'] = 'page-admin';
            }
            if ((
arg(0)=='node') && (arg(1)=='add')) { /* se stiamo creando un contenuto*/
               
$vars['template_file'] = 'page-admin';
            }
            if (
arg(0) == 'user' && is_numeric(arg(1)) && arg(2) == "") { /* se siamo nel profilo utente */
               
$vars['template_file'] = 'page-admin';
            }
            if (
arg(0) == 'blog') { /* se siamo nel blog */
               
$vars['template_file'] = 'page-admin';
            }
            if (
arg(0) == 'tracker') { /* se siamo nel tracker (contenuti recenti) */
               
$vars['template_file'] = 'page-admin';
            }
            break;
    }

  return
$vars;
}
?>

fin qui tutto ok... come vedete nell'ultimo codice php del file template.php nei commenti ho scritto cosa ho switchato nel template admin....

l'unico problema rimane che se io entro appena faccio il login mi ritrovo il mio template di frontend con i link di navigazione di amministrazione, poi se clicco su un pulsante di loro, tipo profilo utente o amministra, il template finalmente viene switchato....

quindi il problema è questo.... come faccio a far apparire il template di amministrazione appena faccio il login?

Condividi contenuti