switch_user_logged Tags funktionieren nicht

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Simpson
Ehemaliges Teammitglied
Beiträge: 1088
Registriert: 20.05.2002 17:35
Wohnort: Göttingen
Kontaktdaten:

switch_user_logged Tags funktionieren nicht

Beitrag von Simpson »

In overall_header.tpl kann man die Tags...

Code: Alles auswählen

<!-- BEGIN switch_user_logged_in -->


Code: Alles auswählen

<!-- END switch_user_logged_in -->  


...benutzen und alles was dazwischen steht erscheint nur, wenn man eingelogt ist.

Das finde ich ne praktische Sache, ich habe das auch unter "Kontakt" in meiner profile_view_body.tpl gemacht, somit kann ein Gast keine Kontaktinformationen über einen Member bekommen, obwohl ich ein offenes Forum habe.

Jetzt habe ich aber festgestellt das die Tags in viewtopic_body.tpl nicht richtig funktionieren - warum geht das nicht?

Kann mir da jemand auf die Sprünge helfen, bitte?

Ich würde gerne das dort auch so machen, das Gäste nicht die Kontaktinformationen sehen können, wenn ich aber die Tags einsetze verschwindet alles dazwischen für Gäste wie auch für eingelogte User, was mach ich da falsch?

Irgendwie funktionieren tut das darin, ich habe dort schon einen Tag irgendwann mal eingemodet, der geht, ich verstehs einfach nicht.

So habe ich das jetzt gemacht:

Code: Alles auswählen

{postrow.SEARCH_IMG} {postrow.PROFILE_IMG} {postrow.PM_IMG} {postrow.WWW_IMG} {postrow.EMAIL_IMG} {postrow.AIM_IMG} {postrow.YIM_IMG} {postrow.MSN_IMG} {postrow.ICQ_IMG}



ersetzt gegen:

Code: Alles auswählen

{postrow.SEARCH_IMG} {postrow.PROFILE_IMG} {postrow.PM_IMG} {postrow.WWW_IMG} <!-- BEGIN switch_user_logged_in --> {postrow.EMAIL_IMG}  {postrow.AIM_IMG} {postrow.YIM_IMG} {postrow.MSN_IMG} {postrow.ICQ_IMG} ]<!-- END switch_user_logged_in --> 

aber nix ist, alles weg.
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

1. Musst Du darauf achten, das nach oder vor <!-- BEGIN oder <!-- END Absätze sind, es darf also ned in der gleichen Zeile weitergehen.

2. Sag ich Dir, wenn Du obiges gemacht hast und nochma fragst, warum es immer noch ned richtig funktioniert. :wink:
Benutzeravatar
Simpson
Ehemaliges Teammitglied
Beiträge: 1088
Registriert: 20.05.2002 17:35
Wohnort: Göttingen
Kontaktdaten:

Beitrag von Simpson »

Okay habe ich gemacht:

Code: Alles auswählen

         <td valign="middle" nowrap>{postrow.SEARCH_IMG} <span class="mainmenu"><font face="Arial, Helvetica, sans-serif" size="2"> 
            </font></span>
			
<!-- BEGIN switch_user_logged_in -->

{postrow.PROFILE_IMG} {postrow.PM_IMG}

<!-- END switch_user_logged_in -->

{postrow.EMAIL_IMG}<span class="mainmenu"><font face="Arial, Helvetica, sans-serif" size="2"> 
            </font></span> {postrow.WWW_IMG}<span class="mainmenu"><font face="Arial, Helvetica, sans-serif" size="2"> 
            </font></span> {postrow.AIM_IMG} {postrow.YIM_IMG} {postrow.MSN_IMG} 
            <noscript>{postrow.ICQ_IMG}<span class="mainmenu"><font face="Arial, Helvetica, sans-serif" size="2"> 
            </font></span></noscript></td>
Ergebnis ist, der Inhalt zwischen BEGIN und END verschwindet, egal ob man aus oder eingelogt ist.
Benutzeravatar
Simpson
Ehemaliges Teammitglied
Beiträge: 1088
Registriert: 20.05.2002 17:35
Wohnort: Göttingen
Kontaktdaten:

Beitrag von Simpson »

Ich glaube ich habe das Problem gefunden, wenn ich...

Code: Alles auswählen

<!-- BEGIN switch_user_logged_in -->

test

<!-- END switch_user_logged_in -->
vor dem in der viewtopic_body.tpl befindlichen Tag

Code: Alles auswählen

<!-- BEGIN postrow -->
setze, dann funktioniert alles, sobald obiges aber zwischen

Code: Alles auswählen

<!-- BEGIN postrow -->
und

Code: Alles auswählen

 <!-- END postrow -->
steht, dann geht es nicht mehr.

Nur wie lautet die Lösung??? Was kann ich da machen???
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Der Grund liegt darin, das Du innerhalb eines Switches (Begin postrow) noch a Switch (logged) switchen willst .. ;)
..versuch ma anstelle dem obigen folgendes..

Code: Alles auswählen

<!-- BEGIN switch_view --> 
{postrow.PROFILE_IMG} {postrow.PM_IMG} 
<!-- END switch_view --> 
Und ans Ende der viewtopic.php schreibst Du vor $template->pparse('body'); folgendes (eventuell ohne dem Ausrufezeichen!?)..
if ( !$userdata['session_logged_in'] )
{
$template->assign_block_vars('postrow.switch_view', array());
}
Benutzeravatar
Simpson
Ehemaliges Teammitglied
Beiträge: 1088
Registriert: 20.05.2002 17:35
Wohnort: Göttingen
Kontaktdaten:

Beitrag von Simpson »

Also das funktioniert auf jeden Fall schon mal teilweise.

Bei allen Usern verschwindet jetzt das Profil und PM Image, bis auf den letzten User im Thread, dort ist das Profil und PM Image zu sehen wenn man eingelogt ist.

Wenn das jetzt bei den anderen Usern im Thread auch noch funktionieren würde, dann ist es genau das was ich gerne hätte :)
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Mein Fehler... anstatt vor..

Code: Alles auswählen

$template->pparse('body');
..muss man es vor folgenden Code einfügen (also nur die Klammer beachten)...

Code: Alles auswählen

}

$template->pparse('body');
Benutzeravatar
Simpson
Ehemaliges Teammitglied
Beiträge: 1088
Registriert: 20.05.2002 17:35
Wohnort: Göttingen
Kontaktdaten:

Beitrag von Simpson »

Spitze danke vielmals Acid :) das hat geklappt, übrigens ohne das Ausrufezeichen.
Benutzeravatar
Simpson
Ehemaliges Teammitglied
Beiträge: 1088
Registriert: 20.05.2002 17:35
Wohnort: Göttingen
Kontaktdaten:

Beitrag von Simpson »

Eine Frage habe ich doch noch und zwar, wenn ich jetzt einem Gast einen Text präsentieren möchte den eingelogte User nicht sehen sollen, muß ich das dann so machen...

Code: Alles auswählen

if ( $userdata['session_logged_in'] ) 
{ 
$template->assign_block_vars('postrow.switch_view', array()); 
}
else
{
	$template->assign_block_vars('postrow.switch_noview', array());
}
Und dann in viewtopic_body.tpl

Code: Alles auswählen

<!-- BEGIN switch_noview --> 
texthier
<!-- END switch_noview --> 
???
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

..eigentlich reicht...
if ( !$userdata['session_logged_in'] )
{
$template->assign_block_vars('postrow.switch_view', array());
}
..dann wird´s nur von ausgeloggten Typen gesehen.
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“