Personalizza la pagina di accesso negato


11

Ho molte pagine di base in cui ho bisogno che l'utente abbia effettuato l'accesso per visualizzarle. Come personalizzo la pagina di accesso negato al sito?

Risposte:


7

Una pagina di accesso negato personalizzata può essere definita in / admin / config / system / site-information. Ad esempio, una pagina di errore 404 comune è fornita dal modulo Search404 .

Tutto quello che devi fare è definire la tua pagina, magari con un teaser dalla pagina richiesta e informare l'utente che l'accesso al contenuto completo richiede che siano registrati.

Questo probabilmente richiederà che tu inserisca del codice php nel corpo della pagina, oppure potresti usare il modulo Search404 come base per sviluppare il tuo modulo per gestirlo.

Modifica: più ci penso e più interessante diventa la domanda. Penso che potrebbe essere presentato un caso per un'autorizzazione "Visualizza teaser" oltre a "Visualizza contenuto pubblicato". In altre parole, la pagina potrebbe essere disponibile per tutti gli utenti, ma il teaser verrebbe visualizzato al posto del contenuto completo e potrebbe essere visualizzato un messaggio che indica che l'utente deve essere loggato per visualizzare il contenuto completo, proprio come per commenti ora. Forse un'idea per un modello contribuito (non è stato possibile trovarne uno su DO).


7

Penso che puoi usare page - 403.tpl.php e page - 404.tpl.php e il codice in template.php tramite

function THEMENAME_preprocess_page(&$variables) {    
  $status = drupal_get_http_header("status");  
  if($status == '403 Forbidden') {
    $variables['theme_hook_suggestions'][] = 'page__403';
  }
  if($status == '404 Not Found') {
    $variables['theme_hook_suggestions'][] = 'page__404';
  }
}

Provato. Funziona. Ma ricorda che questo hook viene eseguito solo dopo aver svuotato la cache.
Ignacio Segura Postigo,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.