Switch's "verschachteln"?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
siebenschlaefer
Mitglied
Beiträge: 221
Registriert: 22.01.2003 19:36
Wohnort: md

Beitrag von siebenschlaefer »

Die rot gekennzeichneten elemente müsste ich mit dem oben angewendeteten switch_extra versehen, was wegen der verschachtelung natürlich nicht funktioniert. Was kann ich da machen, bin schon ne ganze weile am probieren aber irgendwie krich ichs nicht hin.
<!-- BEGIN switch_extra -->
<tr>
<td class="row1" width="22%"><span class="gen"><b>{L_EXTRA}</b></span></td>
<td class="row2" width="78%"><input type="text" name="extra" size="45" maxlength="8" style="width:70px" tabindex="2" class="post" value="{EXTRA}" /></td>
</tr>
<!-- END switch_extra -->




<!-- BEGIN switch_allow_subject_on -->
<tr>
<td class="row1" width="22%"><span class="gen"><b> {L_EXTRA} {L_SUBJECT}</b></span></td>
<td class="row2" width="78%"> <span class="gen">
<table cellspacing="0" cellpadding="0"><tr><td>
<input type="text" name="extra" size="45" maxlength="8" style="width:70px" tabindex="2" class="post" value="{EXTRA}" />
<input type="text" name="subject" size="45" maxlength="120" style="width:450px" tabindex="2" class="post" value="{SUBJECT}" />
</span></td></tr></table>
</td>
</tr>
<!-- END switch_allow_subject_on -->
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

Versuchs mal so -->

Code: Alles auswählen

<!-- BEGIN switch_allow_subject_on --> 
<tr> 
<td class="row1" width="22%"><span class="gen"><b>
<!-- END switch_allow_subject_on -->
<!-- BEGIN switch_extra -->
{L_EXTRA}&nbsp;
<!-- END switch_extra -->
<!-- BEGIN switch_allow_subject_on -->
{L_SUBJECT}</b></span></td> 
<td class="row2" width="78%"> <span class="gen"> 
<table cellspacing="0" cellpadding="0"><tr><td> 
<!-- END switch_allow_subject_on -->
<!-- BEGIN switch_extra -->
<input type="text" name="extra" size="45" maxlength="8" style="width:70px" tabindex="2" class="post" value="{EXTRA}" /> 
<!-- END switch_extra -->
<!-- BEGIN switch_allow_subject_on -->
<input type="text" name="subject" size="45" maxlength="120" style="width:450px" tabindex="2" class="post" value="{SUBJECT}" /> 
</span></td></tr></table> 
</td> 
</tr> 
<!-- END switch_allow_subject_on -->
siebenschlaefer
Mitglied
Beiträge: 221
Registriert: 22.01.2003 19:36
Wohnort: md

Beitrag von siebenschlaefer »

danke funzt super, obwohl ichs so eigentlich vorher auch schon probiert hatte und da gings nicht, war wohl irgend nen fehler drinne - thanks :D
emily

Beitrag von emily »

Hallo,

sorry wenn ich den Thread aus der Versenkung wieder hochhole, aber ich hab auch so mein Problem damit ;-)

page_header.php
if ($_SERVER['PHP_SELF'] != '/portal.php')
{
$template->assign_block_vars('switch_portal', array());

}

Eingefügt hab ich obigen Code nach:

Code: Alles auswählen

//
// Login box?
//
if ( !$userdata['session_logged_in'] )
{
   $template->assign_block_vars('switch_user_logged_out', array());
   //
   // Allow autologin?
   //
   if (!isset($board_config['allow_autologin']) || $board_config['allow_autologin'] )
   {
      $template->assign_block_vars('switch_allow_autologin', array());
      $template->assign_block_vars('switch_user_logged_out.switch_allow_autologin', array());
   }
}
else
{
   $template->assign_block_vars('switch_user_logged_in', array());

overall_header.tpl

<!-- BEGIN switch_portal -->

<!-- BEGIN der Navi -->
.
.
.
<!-- BEGIN switch_user_logged_in -->
.
.
.

<!-- END switch_user_logged_in -->
.
.
.
<!-- END der Navi -->
.
.
.
<!-- END switch_portal -->

Wie bekomme ich es nun hin, das in dem switch_portal auch immer noch der switch_user_logged_in und navi etc noch alle richtig funktionieren?

Danke schon mal!
emily

Beitrag von emily »

Weiss keiner wie es richtig heissen muss? :oops:
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

emily hat geschrieben:overall_header.tpl

<!-- BEGIN switch_portal -->

<!-- BEGIN der Navi -->
.
.
.
<!-- BEGIN switch_user_logged_in -->
.
.
.

<!-- END switch_user_logged_in -->
.
.
.
<!-- END der Navi -->
.
.
.
<!-- END switch_portal -->
Sry, aber damit kann ich nicht viel anfangen. Ist "der Navi" ein Switch? :-?

Oder täuscht das? Poste bitte mal den Code Block aus deiner
overall_header hierher, damit das Ganze ein Bild gibt.
emily

Beitrag von emily »

Hier ist der Code >> overall_header.txt <<

Navi ist wohl kein Switch, wenn ich mir das recht überlege und so anschaue, trotzdem hab ich dort noch mehrere Switches ;-)

Danke schon mal!
Onegin

Beitrag von Onegin »

hallo

ich hab das auch mal ausprobiert, da ich für gäste die gesamte spalte "email" in der memberlist ausblenden möchte

ich hab da im template in der überschrift nun

Code: Alles auswählen

	<tr>
	  <th height="25" class="thCornerL" nowrap="nowrap">#</th>
	  <th class="thTop" nowrap="nowrap">&nbsp;</th>
	  <th class="thTop" nowrap="nowrap">{L_USERNAME}</th>
<!-- BEGIN switch_user_logged_in -->
	  <th class="thTop" nowrap="nowrap">{L_EMAIL}</th>
<!-- END switch_user_logged_in -->
	  <th class="thTop" nowrap="nowrap">{L_LASTLOG}</th>
	  <th class="thTop" nowrap="nowrap">{L_JOINED}</th>
	  <th class="thTop" nowrap="nowrap">{L_POSTS}</th>
	  <th class="thCornerR" nowrap="nowrap">{L_WEBSITE}</th>
	</tr>
und in der memberlist.php

Code: Alles auswählen

// um email für gäste auszublenden
if ( $userdata['session_logged_in'] )
{
	$template->assign_block_vars('postrow.switch_user_logged_in', array());
}
 // ende
$template->pparse('body');
wie hier beschrieben

das scheint auch zu klappen...

was allerdings nicht klappt ist das ausblenden des emailbuttons bei den einzelnen usern dann...

da versteh ich die verschachtelung nicht wirklich, und an welche stelle das soll...

kann mir da jemand nen tipp geben?

grüße

basti
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Es ist fast richtig.

1. Du musst das An- / Abschalten im Template auch für die Spalten der e-mails machen und nicht nur für die Spaltenüberschrift.
2. Es handelt sich nicht um postrow sondern memberrow.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Onegin

Beitrag von Onegin »

was allerdings nicht klappt ist das ausblenden des emailbuttons bei den einzelnen usern dann...

da versteh ich die verschachtelung nicht wirklich, und an welche stelle das soll...
da hatte ich mir code erspart, da er eh nicht funktioniert hat...

aber ich kann ja mal meine 3 varianten posten:

Template memberlist_body:

Code: Alles auswählen

  <table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
	<tr>
	  <th height="25" class="thCornerL" nowrap="nowrap">#</th>
	  <th class="thTop" nowrap="nowrap">&nbsp;</th>
	  <th class="thTop" nowrap="nowrap">{L_USERNAME}</th>
<!-- BEGIN switch_user_logged_in -->
	  <th class="thTop" nowrap="nowrap">{L_EMAIL}</th>
<!-- END switch_user_logged_in -->
	  <th class="thTop" nowrap="nowrap">{L_LASTLOG}</th>
	  <th class="thTop" nowrap="nowrap">{L_JOINED}</th>
	  <th class="thTop" nowrap="nowrap">{L_POSTS}</th>
	  <th class="thCornerR" nowrap="nowrap">{L_WEBSITE}</th>
	</tr>
	<!-- BEGIN memberrow -->
	<tr>
	  <td class="{memberrow.ROW_CLASS}" align="center"><span class="gen">&nbsp;{memberrow.ROW_NUMBER}&nbsp;</span></td>
	  <td class="{memberrow.ROW_CLASS}" align="center">&nbsp;{memberrow.PM_IMG}&nbsp;</td>
	  <td class="{memberrow.ROW_CLASS}" align="center"><span class="gen"><a href="{memberrow.U_VIEWPROFILE}" class="gen">{memberrow.USERNAME}</a></span></td>
<!-- BEGIN switch_user_logged_in -->
	  <td class="{memberrow.ROW_CLASS}" align="center" valign="middle">&nbsp;{memberrow.EMAIL_IMG}&nbsp;</td>
<!-- END switch_user_logged_in -->
	  <td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gensmall">{memberrow.LASTLOG}</span></td>
	  <td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gensmall">{memberrow.JOINED}</span></td>
	  <td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gen">{memberrow.POSTS}</span></td>
	  <td class="{memberrow.ROW_CLASS}" align="center">&nbsp;{memberrow.WWW_IMG}&nbsp;</td>
	</tr>
	<!-- END memberrow -->
	<tr>
	  <td class="catBottom" colspan="8" height="28">&nbsp;</td>
	</tr>
  </table>
Variante 1:

Code: Alles auswählen

// um email für gäste auszublenden
if ( $userdata['session_logged_in'] )
{
	$template->assign_block_vars('switch_user_logged_in', array());
}
// ende
Variante 2:

Code: Alles auswählen

// um email für gäste auszublenden
if ( $userdata['session_logged_in'] )
{
         $template->assign_block_vars('memberrow.switch_user_logged_in', array());
}
if ( $userdata['session_logged_in'] )
{
	$template->assign_block_vars('switch_user_logged_in', array());
}
// ende
Variante 3:

Code: Alles auswählen

// um email für gäste auszublenden
if ( $userdata['session_logged_in'] )
{
         $template->assign_block_vars('memberrow.switch_user_logged_in', array());
}
// ende


und das ging alles nicht... :-(

hier noch ein paar screens:
Als Gast (in allen 3 Varianten):
[ externes Bild ]

Variante 1:
[ externes Bild ]

Variante 2:
[ externes Bild ]

Variante 3:
[ externes Bild ]

interessant find ich ja das letzte verhalten, sieht prinzipiell richtig aus, allerdings nur beim letzten eintrag... wieso nur da?

grüße
Antworten

Zurück zu „Coding & Technik“