Seite 1 von 2
Button 'antworten' soll bei Gästen nicht erscheinen
Verfasst: 20.08.2010 23:03
von Assa1004
Hallo phpBB'ler,
ich versuche bisher leider vergeblich, folgendes umzusetzen:
In zwei Foren sollen alle außer den Admins nur Leserechte haben.
Das bedeutet, die Buttons 'neues Thema' oder 'anntworten' sollen bei Gästen und Registrierten Benutzern erst gar nicht erscheinen.
Eigenartiger Weise funktioniert es bei Registrierten Benutzern, nicht aber bei Gästen!? Gäste sehen diese Buttons, kommen bei Klick darauf zum Loginformular und erhalten nach Login (wenn sie dann also registrierter Benutzer sind) den Hinweis, dass sie in diesem Forum keine Beiträge/Antworten erstellen können.
Frage ist also: wie kriege ich diese Buttons bei den Gästen weg? In den gruppenspezifischen Forenrechten habe ich bereits die Standardberechtigung 'Nur lesender Zugriff' versucht oder bei den erweiterten Berechtigungen alles bis auf 'Kann Forum sehen' und 'Kann Forum lesen' auf 'Nie' gestellt...
Beide Varianten bringen nicht das gewünschte Ziel.
Gibt es noch eine Stellschraube, die ich nicht kenne? Ich sehe auch keinen Unterschied zu den Registrierten Benutzern (bei denen steht die Berechtigung übrigens auf 'Nur lesender Zugriff' und es funktioniert wie gesagt).
Bin für jeden Tipp dankbar!
Ich nutze diesen Style:
http://www.phpbb3styles.net/db/style/610nm
Meine Version: 3.0.4 (ich weiß, werde bald updaten)
Re: Button 'antworten' soll bei Gästen nicht erscheinen
Verfasst: 25.08.2010 20:39
von Assa1004
Ach schade, kann mir da wirklich niemand helfen? Habe ich das Problem nicht zutreffend beschrieben?
Im Forum habe ich natürlich auch schon nach diesem Thema gesucht, allerdings nichts gefunden... Hat sonst niemand dieses Problem?
Re: Button 'antworten' soll bei Gästen nicht erscheinen
Verfasst: 25.08.2010 23:54
von redbull254
Hallo erstmal,
bei erweiterte Gruppenspezifische Forenrechte :
Kann neue Themen im Forum starten
auf „Nein“ setzen.
KB:rechtesystem
KB:rechte_verfolgen
Schnelleinstieg phpBB3
Re: Button 'antworten' soll bei Gästen nicht erscheinen
Verfasst: 26.08.2010 10:29
von forant
redbull254 hat geschrieben:bei erweiterte Gruppenspezifische Forenrechte :
Kann neue Themen im Forum starten
auf „Nein“ setzen.
Dies bedeutet nur, das z.B. Gast keine Rechte hat, aber die Anzeige erscheint trotzdem.
Bei mir steht dies auf Nein, es wird
Neues Thema und
Antworten angezeigt. Klickt man jeweils darauf, wird der Hinweis gebracht das keine Berechtigung vorhanden ist (das ist ok und entspricht Deiner Ausführung). Wie unterbindet man aber - bereits im Vorfeld - für Gäste
die Anzeige Neues Thema und
Antworten wenn sie sowieso keine Rechte dazu haben?
Re: Button 'antworten' soll bei Gästen nicht erscheinen
Verfasst: 26.08.2010 11:20
von redbull254
Du konntest die Button mit einem Switch ausblenden.
Code: Alles auswählen
<!-- IF S_USER_LOGGED_IN -->
....Code....
<!-- ENDIF -->
In der „viewtopic.html“
Code: Alles auswählen
<!-- IF S_USER_LOGGED_IN -->
<div class="topic-actions">
<div class="buttons">
<!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
<!-- ENDIF -->
</div>
<!-- ENDIF -->
Das müsste zwei mal gemacht werden, einmal für den Button über und einmal für den Button unter dem Beitrag.
Ich habe das jetzt in einem frisch installierten Forum mit einem Beitrag probiert, da klappt es ohne Probleme damit.
Aber vielleicht hat noch jemand eine andere Idee.

Re: Button 'antworten' soll bei Gästen nicht erscheinen
Verfasst: 26.08.2010 11:58
von Toppek
Hi,
mich hat das Thema auch bewegt; ich hab´s gelöst, indem ich das Forum gesperrt habe, dann war der Button "Neues Thema" erstmal in "Gesperrt" umgewandelt, was optisch den Hinweis gibt, dass hier nichts geht.
Der Weg von redbull254 ist natürlich deutlich eleganter, vielen
Dank dafür!
grtz
toppek
Re: Button 'antworten' soll bei Gästen nicht erscheinen
Verfasst: 26.08.2010 14:19
von forant
@redbull254
Danke für Deine Bemühungen.
Leider blicke ich dies jetzt nicht

(Du setzt zuviel Wissen vorraus)
Würdest Du netterweise dies mal - für beide Buttons - als Step-by-Step Anleitung - schreiben?
Button 1 = Neues Thema: Suche / Finde / Ersetze / Ergänze
Button 2 = Antworten: Suche / Finde / Ersetze / Ergänze
damit würdest Du allen phpBB3-Benutzern wahrlich eine große Freude bereiten.
Ich Danke Dir vorab für Deine Bemühungen im Namen aller phpBB3-Benutzer.
Greatings
Martin
Re: Button 'antworten' soll bei Gästen nicht erscheinen
Verfasst: 26.08.2010 19:40
von redbull254
Suche in der viewtopic.html
Code: Alles auswählen
<div class="topic-actions">
<div class="buttons">
<!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
<!-- ENDIF -->
</div>
Ersetze durch:
Code: Alles auswählen
<!-- IF S_USER_LOGGED_IN -->
<div class="topic-actions">
<div class="buttons">
<!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
<!-- ENDIF -->
</div>
<!-- ENDIF -->
Das Ganze musst Du 2X machen, wie oben schon geschrieben.
Re: Button 'antworten' soll bei Gästen nicht erscheinen
Verfasst: 27.08.2010 09:02
von forant
Vielen Dank, hat perfekt geklappt.
Mache ich dies auch in der
viewforum_body.html wird für Gäste
als auch für registrierte Benutzer der untere Button (neues Thema) - damit kann man leben- gleichfalls ausblenden können. Mache ich dies jedoch auch beim oberen Button, erhalte ich einen Parse-Fehler.
Das Original oben lautet:
Code: Alles auswählen
<!-- IF S_DISPLAY_POST_INFO or PAGINATION or TOTAL_POSTS or TOTAL_TOPICS -->
<div class="topic-actions" <!-- IF S_HAS_SUBFORUM -->style="margin-top: 2em;"<!-- ENDIF -->>
Wie kann man hier
nur für Gäste den Button "Neues Thema" ausblenden?
das Origial unten lautet:
Code: Alles auswählen
<!-- IF .topicrow and not S_DISPLAY_ACTIVE -->
<div class="topic-actions">
<!-- IF not S_IS_BOT and S_DISPLAY_POST_INFO -->
<div class="buttons">
<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->post-icon<!-- ENDIF -->" title="<!-- IF S_IS_LOCKED -->{L_FORUM_LOCKED}<!-- ELSE -->{L_POST_TOPIC}<!-- ENDIF -->"><a href="{U_POST_NEW_TOPIC}"><span></span><!-- IF S_IS_LOCKED -->{L_FORUM_LOCKED}<!-- ELSE -->{L_POST_TOPIC}<!-- ENDIF --></a></div>
</div>
<!-- ENDIF -->
Wie kann man hier
nur für Gäste den Button "Neues Thema" ausblenden?
Greatings
Martin
Re: Button 'antworten' soll bei Gästen nicht erscheinen
Verfasst: 27.08.2010 09:21
von franki
Hallo mdietrich
Da müsstest Du schon etwas tiefer greifen, z.B. über Gruppenrechte.
Template Variable zur Prüfung der Gruppen Mitgliedschaft hat geschrieben:Manchmal möchte man diverse Dinge im Template nur bestimmten Gruppen zur Verfügung stellen (also für bestimmte Gruppen sichtbar oder unsichtbar machen).
Aus diesem Grunde stelle ich hier mal die Anleitung zur Erstellung einer Template Variable zur Prüfung der Gruppen Mitgliedschaft zur Verfügung.
Öffne includes/functions.php
Suche
Code: Alles auswählen
'SITE_LOGO_IMG' => $user->img('site_logo'),
'A_COOKIE_SETTINGS' => addslashes('; path=' . $config['cookie_path'] . ((!$config['cookie_domain'] || $config['cookie_domain'] == 'localhost' || $config['cookie_domain'] == '127.0.0.1') ? '' : '; domain=' . $config['cookie_domain']) . ((!$config['cookie_secure']) ? '' : '; secure')),
));
Füge danach ein
Code: Alles auswählen
if ( !function_exists('group_memberships') )
{
include($phpbb_root_path . 'includes/functions_user.'.$phpEx);
}
$groups = group_memberships(false,$user->data['user_id']);
foreach ($groups as $grouprec)
{
$template->assign_vars(array(
'S_GROUP_' . $grouprec['group_id'] => true
));
}
Jetzt kannst du S_GROUP_x im Template verwenden, wobei x mit der Gruppen ID zu ersetzen ist.
<!-- IF not S_GROUP_2 and not S_GROUP_6 -->dein Code hier<!-- ENDIF -->
oder
<!-- IF S_GROUP_2 or S_GROUP_6 -->dein Code hier<!-- ENDIF -->
Hier noch einmal die Auflistung der Systemgruppen-IDs
•1. Guest - Gäste (Anonymous)
•2. Registered Users - Normale registrierter Benutzer
•3. Registered COPPA Users - registrierte Coppa Benutzer
•4. Global Moderators - Globale Moderatoren
•5. Administrators - Administratoren
•6. BOTs
•8. NEWLY_REGISTERED - Kürzlich registrierte Benutzer (neu ab phpBB3.0.6)
(Leider weis ich nicht mehr wo ich das her habe

)
Deine aktuellen
Systemgruppen-IDs müsstest Du dir aus der Tabelle phpbb_user herausholen
[OT]
Sorry Martin, hatte die Woche viel um die Ohren
Ich melde mich auf jeden Fall
[/OT]