Seite 1 von 2

switch_user_logged Tags funktionieren nicht

Verfasst: 25.10.2002 18:01
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.

Verfasst: 26.10.2002 10:44
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:

Verfasst: 27.10.2002 15:20
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.

Verfasst: 27.10.2002 15:26
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???

Verfasst: 27.10.2002 19:24
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());
}

Verfasst: 27.10.2002 20:41
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 :)

Verfasst: 27.10.2002 21:35
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');

Verfasst: 27.10.2002 22:17
von Simpson
Spitze danke vielmals Acid :) das hat geklappt, übrigens ohne das Ausrufezeichen.

Verfasst: 27.10.2002 22:42
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 --> 
???

Verfasst: 27.10.2002 23:06
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.