Gast sollte nur die Überschrift sehn ....?
Eingetragen von johnmclaine (18)
am 17.07.2010 - 14:29 Uhr in
am 17.07.2010 - 14:29 Uhr in
Hallo,
ich bin neu hier und ackere mich gerade durch die Drupalwelt mittels Bücher und DVD. Nun stehe ich vor folgendem Problem:
Ich möchte, das der Gast meiner Site NUR die Überschrift der Beiträge und der Artikel lesen kann.
Wenn ich jedoch in den Berechtigungen Ihn bei "Inhalte lesen" deaktiviere.. Sieht er ja garnix mehr auf der Site.
Wie kann ich die Einstellungen so vornehmen, dass der Gast nur die Überschriften gezeigt bekommt ?
Lg und danke im Vorraus
Alex
- Anmelden oder Registrieren um Kommentare zu schreiben
In deinem Theme müsste es
am 17.07.2010 - 16:04 Uhr
In deinem Theme müsste es eine Datei namens node.tpl.php geben. Wenn du die öffnest, gibt es irgendwo so eine Passage:
<?php
print $content;
?>
Das ganze ändert man zu sowas hier:
<?php
if ($user->uid != 0)
{
print $content;
}
?>
Kurze Erklärung:
$content gibt den Inhalt eines Nodes aus. In der globalen Variable $user (das heißt, die ist in der node.tpl.php z.B. immer verfügbar) ist das User-Objekt des handelnden Benutzers gespeichert. Wenn der Benutzer nicht angemeldet ist, hat er die User-ID 0
Also geben wir den Content nur aus, wenn die User-ID ungleich 0 ist.
Diese Änderung betrifft allerdings alle Inhaltstypen. Wenn man nur bestimmte Inhaltstypen so ändern will, legt man eine Kopie der node.tpl.php an, benennt sie in node->Inhaltstyp<.tpl.php um und ändert diese.
(>Inhaltstyp< muss durch den Maschinen-Namen des Inhaltstyps ersetzt werden, also z.B. node-story.tpl.php oder node-page.tpl.php)
Natürlich musst du die Dateien dann auch auf den Server in das Verzeichnis deines Themes laden und vorsichtshalber die Theme-Registry neu aufbauen (admin/build/modules aufrufen oder admin/settings/performance/ aufrufen und unten auf "Cache leeren" klicken).
--> Theme-Registry muss neu aufgebaut werden, damit Drupal weiß, dass es bestimmte Inhaltstypen mit den neuen Template-Dateien behandeln muss.