Bestimmten Bereich eines Nodes nur authentifizierten Benutzern anzeigen lassen
Eingetragen von soezkan (558)
am 30.05.2011 - 12:20 Uhr in
am 30.05.2011 - 12:20 Uhr in
Hallo zusammen,
ich bin gerade am Überlegen wie ich das mache: ich würde gerne nur bestimmten Benutzern den vollen Content eines Nodes anzeigen lassen.
Eine Möglichkeit wäre ja z.B. in jedem Node einen Link zum "erweiterten" Bereich anzeigen zu lassen, und diesem Node (also des erweiterten Bereichs) dann nur eingeloggten Benutzern zu zeigen.
Kann man aber Nodes irgendwie auch splitten in zwei Teile? Gibt es für soetwas einen Nodetype oder eine Modulerweiterung?
Herzlichen Dank schonmal.
Soezkan
- Anmelden oder Registrieren um Kommentare zu schreiben
Du kannst dir doch über CCK
am 30.05.2011 - 12:47 Uhr
Du kannst dir doch über CCK entsprechende Felder anlegen und diese dann über Content Permissions ( ein Teil des CCK Moduls ) nur für bestimmte Benutzergruppen ( in deinem Falle angemeldete Nutzer ) anzeigen lassen.
Man könnte sich den Content-Typ dann bspw. wie folgt aufbauen:
- Titel
- Textkörper ( sichtbar für alle )
- Textkörper angemeldete Nutzer ( nur für angemeldte Nutzer sichtbar )..
Im Bereich admin/user/permissions kannst du nach Aktivierung des "Content Permissions" Moduls den Zugriff auf jedes beliebige CCK Feld steuern..
SteffenR
http://www.twitter.com/_steffenr
Drupal-Initiative e.V.
Super! Danke!Jetzt ist es
am 30.05.2011 - 14:06 Uhr
Super! Danke! So mache ich das.
Klasse das es dieses Forum gibt
Jetzt habe ich doch noch eine
am 30.05.2011 - 15:38 Uhr
Jetzt habe ich doch noch eine Frage.
Also ich habe ein CCK Field angelegt und die dafür vorgesehenen content_permissions
bei den Berechtigungen angegeben. Hat alles geklappt und nur authentifizierte User
können den "Rest" der Seite sehen.
Idee dahinter ist ja, dass sich die Leute überhaupt erst registrieren sollen, weil es mehr
Inhalt gibt.
Muss ich da jetzt im CCK-Modul-Code hacken oder gibt es ne Möglichkeit, dass unter
dem regulären Inhalt sowas wie "Mehr ..." steht und dann eine Anmeldung erforderlich
ist.
Danke schonmal.
Liebe Grüße
Soezkan
Das könntest du doch mithilfe
am 30.05.2011 - 15:46 Uhr
Das könntest du doch mithilfe eines Eintrags im Node-Template deines Content-Typen machen.. Dort kannst du ja auch abfragen, ob der Benutzer angemeldet ist und dann einen entsprechenden Text ausgeben..
SteffenR
http://www.twitter.com/_steffenr
Drupal-Initiative e.V.
Das isses! Großartig. Ganz
am 30.05.2011 - 16:03 Uhr
Das isses! Großartig. Ganz herzlichen Dank.
Jetzt habe ich doch noch ne
am 31.05.2011 - 08:39 Uhr
Jetzt habe ich doch noch ne Frage: angenommen ich möchte die Inhalte meiner Extrafelder (aus CCK) nicht über die $content Variable
des node.tpl.php ausgeben sondern getrennt davon. Wie mache ich das bzw. geht das überhaupt?
Grund meiner Frage ist, dass ich ne Menge Daten per Copy und Paste übertragen muss pro node und der Einfachheit halber
wäre das so am Besten, als wenn ich erst die DIV-Tabelle in das CCK-Extrafeld kopieren müsste und dann die drei Spalten
mit dem Extracontent.
Gewünscht wären also drei Extrafelder mit CCK (was ja ohne weiteres geht) und dann eben eine Möglichkeit diese drei Extrafelder
als z.B. DIVs in der node.tpl.php zu definieren.
Für Hilfe wäre ich sehr dankbar.
Liebe Grüße
Soezkan
soezkan schrieb Jetzt habe
am 31.05.2011 - 09:05 Uhr
Jetzt habe ich doch noch ne Frage: angenommen ich möchte die Inhalte meiner Extrafelder (aus CCK) nicht über die $content Variable
des node.tpl.php ausgeben sondern getrennt davon. Wie mache ich das bzw. geht das überhaupt?
Du kannst jedes Feld direkt in der node.tpl.php auch mit ner entsprechenden Anweisung ausgeben lassen.
z.B.:
<?php print $node->field_dein_feldname[0]['view'] ?>
Drupal 7 Screencasts in deutsch!
das Modul premium content
am 31.05.2011 - 11:17 Uhr
das Modul premium content
C.A.W. Webdesign
gelöst
am 31.05.2011 - 16:42 Uhr
Du kannst jedes Feld direkt in der node.tpl.php auch mit ner entsprechenden Anweisung ausgeben lassen.
z.B.:
<?php
print $node->field_dein_feldname[0]['view']
?>
Vielen Dank :)
So mache ich das in meiner node-page.tpl.php:
<div id="node-<?php print $node->nid; ?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">
<?php print $picture ?>
<?php if ($page == 0): ?>
<h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php endif; ?>
<div class="content clear-block">
<?php print($node->content['body']['#value']); ?>
<?php if(!in_array("authenticated user",$GLOBALS['user']->roles)): ?>
<div class="links"><a class="morelink" href="/user">Mehr ...</a><p> </p></div>
<?php else: print $node->field_secret_information[0]['view']; ?>
<?php endif; ?>
</div>
<div class="clear-block">
<?php if ($links): ?>
<div class="links"><?php print $links; ?></div>
<?php endif; ?>
</div>
</div>
Liebe Grüße
Soezkan
Zugriff bei direktem Link
am 28.07.2011 - 10:18 Uhr
Eine Frage hätte ich da auch noch ...
Und zwar habe ich CCK-Felder (Filefields) angelegt, und unter 'admin/user/permissions' definiert, dass nur angemeldete Personen die Felder zu Gesicht bekommen (also Haken bei "view field_*" und "anonymous user" raus).
Jetzt ist es aber so, dass man an den Inhalt der CCK-Filefields auch als nicht angemeldeter Benutzer rankommt, wenn man die URL kennt.
Wie und wo kann man denn die Berechtigungen erweitern, sodass ein nicht angemeldeter Benutzer eine Seite "Zugriff verweigert" zu Gesicht bekommt, wenn er die direkte URL eingibt?
Btw. Drupal 6.22 und CCK 6.x-2.9
Dazu musst du das Dateisystem
am 28.07.2011 - 10:36 Uhr
Dazu musst du das Dateisystem unter admin/settings/file-system auf "privat" stellen, sonst interessiert sich Drupal für die Downloads überhaupt nicht und lässt das alles den Server machen. Nur, wenn du auf "privat" schaltest, werden die Downloads von Drupal verarbeitet.
Super, vielen Dank!
am 28.07.2011 - 10:46 Uhr
Super, vielen Dank!