Kommentare von Gästen nur für bestimmte Inhaltstypen erlauben?!
Eingetragen von wflorian (251)
am 29.07.2010 - 07:31 Uhr in
am 29.07.2010 - 07:31 Uhr in
Hallo zusammen,
wir wollen das posten von Kommentare für Gäste erlauben, dass ist ja ohne Probleme über die Zugriffskontrolle machbar.
Allerdings wollen wir die Kommentare für Gäste nur für bestimmte Inhaltstypen erlauben. Da sonst auch Gäste im Forum posten können, da dies ja über das Comment Core Modul mit läuft...
Habt ihr eine Idee wie wir das bewerkstelligen könnten?
Sind über jede Hilfe und Tipps dankbar!!
Viele Grüße,
Florian
- Anmelden oder Registrieren um Kommentare zu schreiben
Am einfachsten wäre es ..
am 29.07.2010 - 07:41 Uhr
.. die Inhalte mit eigenen Node-Types zu trennen. Damit stände die normale Funktion Kommentar erlauben zur Verfügung.
Eine andere Möglichkeit ist die Kommentare in jedem Node einzeln zu aktivieren. Die dritte wäre die Kommentarfunktion über hook_nodeapi() ein und auszuschalten; das könnte z. B. dann über bestimmte Pfade oder Menü-Punkte passieren.
Es gibt sicher noch weit mehr Möglichkeiten, die beste und eleganteste ist allerdings die Trennung der Inhalte nach Node-Types.
Gruß
UwBach
Was meinst du mit Nodetypes?
am 29.07.2010 - 07:44 Uhr
Was meinst du mit Nodetypes? Du redest über Inhaltstypen - sehe ich das richtig? Das haben wir wenn gemacht, hilft aber bei dem Problem nicht weiter, da die Drupal Zugriffskontrolle keine Möglichkeit bietet, dass für bestimmte Inhaltstypen einzuschränken.
Die anderen Möglichkeiten machen leider auch kein Sinn, denn an sich sollen User die Möglichkeit Kommentare zu posten weiter haben, nur Gäste für bestimmte Inhaltstypen nicht!
Inhaltstypen = Nodetypes
am 29.07.2010 - 08:11 Uhr
ist richtig.
Dann schalte doch einfach auf allen Node-Types die Kommentarfunktion frei und regel die Zugriffsberechtigung selber.
function xxxx_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL)
{
global $user;
if($op == 'view' && $user -> uid == 0 && $node -> type == 'page')
$node -> comment = 0;
if($op == 'view' && $user -> uid == 0 && $node -> type == 'story')
$node -> comment = 2;
}
0 = Keine Berechtigung
1 = read only
2 = lesen und schreiben
In diesem Fall darf also bei "Seite" nichts gemacht werden und bei "Artikeln" lesen und schreiben. Das kann natürlich beliebig verfeinert werden.
Gruß
UwBach
UwBach schrieb Eine andere
am 11.09.2010 - 19:06 Uhr
Eine andere Möglichkeit ist die Kommentare in jedem Node einzeln zu aktivieren.
Wie geht das? Ich finde eine solche Möglichkeit der einzelnen Kommentar-Aktivierung beim Erstellen eines Beitrages leider nicht.
Wenn Du z.B. einen Artikel
am 11.09.2010 - 19:12 Uhr
Wenn Du z.B. einen Artikel erstellst, gibt es unterbalb des Body-Feldes eine eingeklappte Gruppe "Einstellungen für Kommentare". Da kannst Du die Kommentare für diesen jetzt erstellten Artikel deaktivieren und dann kann niemand mehr diesen Artikel kommentieren.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Vielleicht hilft dir das
am 12.09.2010 - 11:03 Uhr
Vielleicht hilft dir das comment permissions module weiter.
wla schrieb Wenn Du z.B.
am 12.09.2010 - 09:33 Uhr
Wenn Du z.B. einen Artikel erstellst, gibt es unterbalb des Body-Feldes eine eingeklappte Gruppe "Einstellungen für Kommentare". Da kannst Du die Kommentare für diesen jetzt erstellten Artikel deaktivieren und dann kann niemand mehr diesen Artikel kommentieren.
Beste Grüße
Werner
Einstellung für die "Einstellungen für Kommentare" erscheinen bei mir da gar nicht. Kann das daran liegen, dass ich die Kommentare generell nicht erlaubt habe? Das wäre doof, denn dann müsste ich jetzt die Kommentare allgemein aktivieren und die dann überall manuell deaktivieren, wo ich sie nicht haben will. Denn ich will nur ein einzelnen ausgewählten Beiträgen Kommentare ermöglichen...
EDIT: Hat sich erledigt, Danke!! Kann nun für die neuen Artikel Kommentare einzeln aktivieren und bei den alten geht's trotzdem nicht. :)
Du kannst Kommentare für
am 12.09.2010 - 09:34 Uhr
Du kannst Kommentare für einen Bestimmten Nodetyp verbieten, wenn Du die Kommentare auf der "Bearbeiten" Seite des Nodetyps abklemmst. Wenn Du das änderst, hat das nur Auswirkung für neu angelegte Nodes. Bei den vorhandenen Nodes bleibt alles beim Alten.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
UwBach schrieb ist
am 08.07.2011 - 16:28 Uhr
ist richtig.
Dann schalte doch einfach auf allen Node-Types die Kommentarfunktion frei und regel die Zugriffsberechtigung selber.
function xxxx_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL)
{
global $user;
if($op == 'view' && $user -> uid == 0 && $node -> type == 'page')
$node -> comment = 0;
if($op == 'view' && $user -> uid == 0 && $node -> type == 'story')
$node -> comment = 2;
}
0 = Keine Berechtigung
1 = read only
2 = lesen und schreiben
In diesem Fall darf also bei "Seite" nichts gemacht werden und bei "Artikeln" lesen und schreiben. Das kann natürlich beliebig verfeinert werden.
Gruß
UwBach
Entschuldigt, dass ich das Thema nochhmal aufgreife, ich versuche gerade das Thema umszusetzen, was ich vor über einem halben Jahr angefragt hatte ! :)
Der obige Code erscheint mir logisch, funktioniert bei unserer D5 Installtion allerdings nicht- sprich es passiert gar nichts.
Ich nehme an das Ganze muss in der template.php positioniert werden - korrekt?
Kann mir hier bitte jamdn weiterhelfen und den Code ebenfalls mal testen...wäre toll!
Ich freue mich auf Eure Hilfe und Antworten.
VG
Florian
Dieser Code muß in einem
am 08.07.2011 - 16:42 Uhr
Dieser Code muß in einem eigenen (=selbst geschriebenen) Modul unter gebracht werden. Also sieht Dir an, wie ein eigenes Modul aufgebaut ist und wie der hook_nodeapi unter Drupal 5 aussieht.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *