Seite 2 von 4

Verfasst: 13.03.2007 14:04
von kolja
thompson hat geschrieben:ist es dann nicht auch möglich, die "offenen switches" vor dem "begin switch user..." zu schließen und anschließend wieder zu öffnen ?
ich glaube, dass ist desswegen nicht ohne weiteres möglich, weil die variablen
(z.b. {postrow.POST_SUBJECT} )
den switch quasi schon von der php datei bekommen
imho ist das verschachtel der switches schon die einfache lösung

schau dir mal so manche mods an (topic_calendar) die haben fast mehr switches als eigentlichen code

wenn ich dich richtig verstehe, möchtest du dein forum für gäste (google) so schlank wie möglich machen ?

vielleicht wäre da wirklich ein anderer weg sinvoller,
z.b. gästen ein anderes template zeigen als den eingeloggten
also erstellts du für gäste ein neues template
(eine kopie des normalen) und dort kannst du einfach alles rauslöschen was du denen nicht zeigen möchtest

wie gäste automatisch ein anderes template zugewiesen bekommen,
oder eingeloggte das eine -wie auch immer -
kann ich dir leider nicht beantworten
sollte aber möglich sein

kolja

Verfasst: 13.03.2007 14:14
von thompson
mit dem anderen template ist vielleicht auch noch ne idee.

nochmal zu den switches. ich habe eben mal ein seophpbb runtergeladen und dort findet man in der viewtopic_body.tpl den folgenden passus:

Code: Alles auswählen

<!-- BEGIN postrow -->
	<tr> 
		<td width="150" align="left" valign="top" class="{postrow.ROW_CLASS}"><span class="name"><a name="{postrow.U_POST_ID}"></a><b>{postrow.POSTER_NAME}</b></span><br /><span class="postdetails">{postrow.POSTER_RANK}<br />{postrow.RANK_IMAGE}{postrow.POSTER_AVATAR}<br /><br />{postrow.POSTER_JOINED}<br />{postrow.POSTER_POSTS}<br />{postrow.POSTER_FROM}</span><br /></td>
		<td class="{postrow.ROW_CLASS}" width="100%" height="28" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
			<tr>
				<td width="100%"><a href="{postrow.U_MINI_POST}"><img src="{postrow.MINI_POST_IMG}" width="12" height="9" alt="{postrow.L_MINI_POST_ALT}" title="{postrow.L_MINI_POST_ALT}" border="0" /></a><span class="postdetails">{L_POSTED}: {postrow.POST_DATE}<span class="gen">&nbsp;</span>&nbsp; &nbsp;{L_POST_SUBJECT}: {postrow.POST_SUBJECT}</span></td>
				<td valign="top" nowrap="nowrap">{postrow.QUOTE_IMG} {postrow.EDIT_IMG} {postrow.DELETE_IMG} {postrow.IP_IMG}</td>
			</tr>
			<tr> 
				<td colspan="2"><hr /></td>
			</tr>
			<tr>
				<td colspan="2"><span class="postbody">{postrow.MESSAGE}{postrow.SIGNATURE}</span><span class="gensmall">{postrow.EDITED_MESSAGE}</span></td>
			</tr>
		</table></td>
	</tr>
	<tr> 
		<td class="{postrow.ROW_CLASS}" width="150" align="left" valign="middle"><span class="nav"><a href="#top" class="nav">{L_BACK_TO_TOP}</a></span></td>
		<td class="{postrow.ROW_CLASS}" width="100%" height="28" valign="bottom" nowrap="nowrap"><table cellspacing="0" cellpadding="0" border="0" height="18" width="18">
			<tr> 
				<td valign="middle" nowrap="nowrap">
				<!-- BEGIN switch_user_logged_in -->
				{postrow.PROFILE_IMG} {postrow.PM_IMG} {postrow.EMAIL_IMG} {postrow.WWW_IMG} {postrow.AIM_IMG} {postrow.YIM_IMG} {postrow.MSN_IMG}<script language="JavaScript" type="text/javascript"><!-- 

	if ( navigator.userAgent.toLowerCase().indexOf('mozilla') != -1 && navigator.userAgent.indexOf('5.') == -1 && navigator.userAgent.indexOf('6.') == -1 )
		document.write(' {postrow.ICQ_IMG}');
	else
		document.write('</td><td>&nbsp;</td><td valign="top" nowrap="nowrap"><div style="position:relative"><div style="position:absolute">{postrow.ICQ_IMG}</div><div style="position:absolute;left:3px;top:-1px">{postrow.ICQ_STATUS_IMG}</div></div>');
				
				//--></script><noscript>{postrow.ICQ_IMG}</noscript>
				<!-- END switch_user_logged_in -->
				</td>
			</tr>
		</table></td>
	</tr>
	<tr> 
		<td class="spaceRow" colspan="2" height="1"><img src="templates/subSilver/images/spacer.gif" alt="" width="1" height="1" /></td>
	</tr>
	<!-- END postrow -->
auch hier sieht man eine Verschachtelung innerhalb von postrow.

verstehe ich also nicht ganz. kann mir das vielleicht nochmal jemand anhand dieses beispieles erklären ?

Verfasst: 13.03.2007 14:23
von kolja
tja erklären kann ich dass nun auch nicht...

aber schau dir doch mal die dazugehörige .php datei an....

kolja

p.s.
das seophpbb ist auch schon eine gute alternative!

Verfasst: 13.03.2007 18:07
von thompson
Dr.Death hat geschrieben:Ok,

hier nun mal ein Test:

Suche in der viewtopic_body.tpl :

Code: Alles auswählen

<tr> 
<!-- BEGIN switch_user_logged_in --> 
      <td width="100%"><a href="{postrow.U_MINI_POST}"><img src="{postrow.MINI_POST_IMG}" width="12" height="9" alt="{postrow.L_MINI_POST_ALT}" title="{postrow.L_MINI_POST_ALT}" border="0" /></a><span class="postdetails">{L_POSTED}: {postrow.POST_DATE}<span class="gen">&nbsp;</span>&nbsp; &nbsp;{L_POST_SUBJECT}: {postrow.POST_SUBJECT}</span></td> 
            <td valign="top" nowrap="nowrap">{postrow.QUOTE_IMG} {postrow.EDIT_IMG} {postrow.DELETE_IMG} {postrow.IP_IMG}</td> 
         </tr> 
         <tr> 
            <td colspan="2"><hr /></td><!-- END switch_user_logged_in -->   </tr>
Ersetze mit:

Code: Alles auswählen

	<tr> 
	<!-- BEGIN logged_in --> 
		<td width="100%"><a href="{postrow.U_MINI_POST}"><img src="{postrow.MINI_POST_IMG}" width="12" height="9" alt="{postrow.L_MINI_POST_ALT}" title="{postrow.L_MINI_POST_ALT}" border="0" /></a><span class="postdetails">{L_POSTED}: {postrow.POST_DATE}<span class="gen">&nbsp;</span>&nbsp; &nbsp;{L_POST_SUBJECT}: {postrow.POST_SUBJECT}</span></td> 
		<td valign="top" nowrap="nowrap">{postrow.QUOTE_IMG} {postrow.EDIT_IMG} {postrow.DELETE_IMG} {postrow.IP_IMG}</td> 
	</tr> 
	<tr> 
		<td colspan="2"><hr /></td>
	<!-- END logged_in -->   
	</tr>
Suche in der viewtopic.php :

Code: Alles auswählen

$template->pparse('body');
DAVOR einfügen:

Code: Alles auswählen

if ( $userdata['session_logged_in'] )
{
	$template->assign_block_vars('postrow.logged_in', array());
}
leider funktioniert auch das nicht.

hier mal meine viewtopic_body.tpl http://www.muskelbody.info/phpBB2/viewtopic_body.txt vielleicht fällt jemandem was auf.

danke für die hilfe.

in der viewtopic.php habe ich noch den google mod drin:

Code: Alles auswählen

// Google Ad Mod 
if (!($userdata['session_logged_in'])) 
{ 
if($i == 0) 
   { 
       $row_color = ( !($num_post % 2) ) ? $theme['td_color1'] : $theme['td_color2']; 
       $row_class = ( !($num_post % 2) ) ? $theme['td_class1'] : $theme['td_class2']; 
       $num_post ++; 
       $message = ' 
      <script type="text/javascript"><!--
google_ad_client = "xx";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel ="0319744919";
google_color_border = "DDB7BA";
google_color_bg = "FFF5F6";
google_color_link = "0000CC";
google_color_url = "008000";
google_color_text = "6F6F6F";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
'; 
       $template->assign_block_vars('postrow', array( 
           'ROW_COLOR' => '#' . $row_color, 
           'ROW_CLASS' => $row_class, 
           'POSTER_NAME' => 'Google', 
           'POST_DATE' => '', 
           'POST_SUBJECT' => 'Anzeige', 
           'MESSAGE' => $message, 
           'MINI_POST_IMG' => $mini_post_img, 
           'U_POST_ID' => '0' 
       )); 
   } 
} 
// Ende Google Ad Mod

Verfasst: 14.03.2007 07:15
von Dr.Death
Moin,

die von mir geposteten Codes hatte ich in einem Testforum ausprobiert, die funtkionieren.

Verlinke mir mal Deine
viewtopic.php und viewtopic_body.tpl

Verfasst: 14.03.2007 08:30
von thompson
viewtopic_body.tpl :

link ist ein post weiter oben.

viewtopic.php folgt.

in meinem anderen forum hatte der code auch nicht funktioniert.

Verfasst: 14.03.2007 08:45
von Dr.Death
Irgendwie kann ich das nicht glauben.

Ich habe nun Deine verlinkte viewtopic_body.tpl genommen und nach den o.g. Anweisungen editiert und in "mein" Forum eingebaut.
Dann habe ich meine viewtopic.php nach den o.g. Anweisungen editiert und in "mein" Forum eingebaut.

Die komplette Zeile mit " Verfasst am , Titel, Zitat Icon, Edit Icon, Delete Icon und IP Icon" ist nun für Gäste nicht mehr sichtbar.

So, wtf ?

Verfasst: 14.03.2007 08:47
von thompson
ausgeblendet wird sie bei mir auch, aber die registrierten sehen sie dann auch nicht mehr.

Verfasst: 14.03.2007 08:55
von Dr.Death
Ja, ausgeblendet für Gäste und sichtbar für eingeloggte, registrierte.
Daher:

Ich möchte gerne deine viewtopic.php und viewtopic_body.tpl sehen ( und zwar die, wo Du die o.g. Anweisungen eingebaut hast. )

Da muss ein Einbaufehler von Dir vorliegen.

Verfasst: 14.03.2007 09:01
von thompson
da schimpfen aber meine user dann wieder ... ;)

kann ich dir die per pm zuschicken, dann kann ich es von hier im gesch.. einbauen, aber nicht hochladen.. ?