it-swarm.com.de

Passen Sie die Seite "Zugriff verweigert" an

Ich habe viele grundlegende Seiten, auf denen der Benutzer angemeldet sein muss, um sie anzeigen zu können. Wie kann ich die Seite "Zugriff auf Website verweigert" anpassen?

11
Youssef

Eine Seite mit benutzerdefiniertem Zugriffsverweigerung kann unter/admin/config/system/site-information definiert werden. Eine häufige 404-Fehlerseite wird beispielsweise vom Modul Search404 bereitgestellt.

Sie müssen lediglich Ihre eigene Seite definieren, möglicherweise mit einem Teaser von der angeforderten Seite, und den Benutzer darüber informieren, dass für den Zugriff auf den gesamten Inhalt eine Anmeldung erforderlich ist.

Dies erfordert wahrscheinlich, dass Sie PHP-Code in den Seitenkörper einfügen, oder Sie verwenden das Search404-Modul als Grundlage für die Entwicklung Ihres eigenen Moduls, um dies zu handhaben.

Edit: Je mehr ich darüber nachdenke, desto interessanter wird die Frage. Ich denke, es könnte ein Fall für eine "View Teaser" -Berechtigung zusätzlich zu "View public content" gemacht werden. Mit anderen Worten, die Seite könnte für alle Benutzer verfügbar sein, aber der Teaser würde anstelle des vollständigen Inhalts angezeigt, und es könnte eine Meldung angezeigt werden, die angibt, dass der Benutzer angemeldet sein musste, um den vollständigen Inhalt anzuzeigen, ähnlich wie dies für vorgesehen ist Kommentare jetzt. Vielleicht eine Idee für ein beigesteuertes Modell (konnte keine auf D.O. finden).

7
Triskelion

Ich denke, Sie können Seite - 403.tpl.php und Seite - 404.tpl.php und Code in template.php über verwenden

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';
  }
}
7
Ruslan P

Ich benutze dafür das Modul Benutzerdefinierter Fehler .

Um nach einem 403 zur ursprünglich angeforderten Seite umzuleiten, habe ich diesen Patch erstellt.

Hier sind zwei Beispiele für meine Verwendung des Moduls:

2
Free Radical