" <!-- BEGIN switch_ " aber wie???
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.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
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.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
" <!-- BEGIN switch_ " aber wie???
hi,
ich möchte, dass in der profile_view_body.tpl die kontakt-möglichkeiten (e-mail /pn / icq...) nur angezeigt werden, wenn es verfügbar ist. die tpl selbst habe ich schon mit "<!-- BEGIN switch_" - anweisungen bestückt, aber wie steuere ich diese dann??
-> hier die tpl-datei
bernd
ich möchte, dass in der profile_view_body.tpl die kontakt-möglichkeiten (e-mail /pn / icq...) nur angezeigt werden, wenn es verfügbar ist. die tpl selbst habe ich schon mit "<!-- BEGIN switch_" - anweisungen bestückt, aber wie steuere ich diese dann??
-> hier die tpl-datei
bernd
Natürlich musst du den Block in der usercp_viewprofile.php ausgeben.
Kleines Beispiel für die E-mail:
includes/user_viewprofile.php
templates/subSilver/profile_view_body.tpl
Für die anderen Felder geht es analog.
Beachte, dass der Name des Blockes in der tpl-Datei
Kleines Beispiel für die E-mail:
includes/user_viewprofile.php
Code: Alles auswählen
#
#------[ FINDE UND LÖSCHE] ----------------------------
#
'EMAIL_IMG' => $email_img,
'EMAIL' => $email,
.
.
.
'L_EMAIL_ADDRESS' => $lang['Email_address'],
'L_EMAIL' => $lang['Email'],
#
#------[ FINDE] ----------------------------
#
if ( !empty($profiledata['user_viewemail']) || $userdata['user_level'] == ADMIN )
{
$email_uri = ( $board_config['board_email_form'] ) ? append_sid("profile.$phpEx?mode=email&" . POST_USERS_URL .'=' . $profiledata['user_id']) : 'mailto:' . $profiledata['user_email'];
$email_img = '<a href="' . $email_uri . '"><img src="' . $images['icon_email'] . '" alt="' . $lang['Send_email'] . '" title="' . $lang['Send_email'] . '" border="0" /></a>';
$email = '<a href="' . $email_uri . '">' . $lang['Send_email'] . '</a>';
#
#------[ DARUNTER EINFÜGEN ] ----------------------------
#
$template->assign_block_vars('switch_show_email',array(
'EMAIL_IMG' => $email_img,
'EMAIL' => $email,
'L_EMAIL_ADDRESS' => $lang['Email_address'],
'L_EMAIL' => $lang['Email'])
);
#
#------[ FINDE UND LÖSCHE] ----------------------------
#
else
{
$email_img = ' ';
$email = ' ';
}
Code: Alles auswählen
#
#------[ FINDE] ----------------------------
#
<tr>
<td valign="middle" align="right" nowrap="nowrap"><span class="gen">{L_EMAIL_ADDRESS}:</span></td>
<td class="row1" valign="middle" width="100%"><b><span class="gen">{EMAIL_IMG}</span></b></td>
</tr>
#
#------[ ERSETZE MIT] ----------------------------
#
<!-- BEGIN switch_show_email -->
<tr>
<td valign="middle" align="right" nowrap="nowrap"><span class="gen">{switch_show_email.L_EMAIL_ADDRESS}:</span></td>
<td class="row1" valign="middle" width="100%"><b><span class="gen">{switch_show_email.EMAIL_IMG}</span></b></td>
</tr>
<!-- END switch_show_email -->
Beachte, dass der Name des Blockes in der tpl-Datei
in der php-Datei festgelegt wird. Also:<!-- BEGIN switch_show_email -->
$template->assign_block_vars('switch_show_email',array(
danke,
aber:
1. kann ich den code auch innerhalb vom tpl-file machen? die anderen installierten styles haben ja diese bezeichner nicht
2. es funktioniert nicht, jetzt wird nicht mal die adresse angezigt, wenn es sie gibt.
usercp_viewprofile.php
profile_view_body.tpl
---------------
vielleicht bin ich einfach nur bloe(d)
aber:
1. kann ich den code auch innerhalb vom tpl-file machen? die anderen installierten styles haben ja diese bezeichner nicht
2. es funktioniert nicht, jetzt wird nicht mal die adresse angezigt, wenn es sie gibt.
usercp_viewprofile.php
Code: Alles auswählen
...
$pm_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['Send_private_message'] . '" title="' . $lang['Send_private_message'] . '" border="0" /></a>';
$pm = '<a href="' . $temp_url . '">' . $lang['Send_private_message'] . '</a>';
//GEAENDERT
if ( !empty($profiledata['user_viewemail']) || $userdata['user_level'] == ADMIN )
{
$email_uri = ( $board_config['board_email_form'] ) ? append_sid("profile.$phpEx?mode=email&" . POST_USERS_URL .'=' . $profiledata['user_id']) : 'mailto:' . $profiledata['user_email'];
$email_img = '<a href="' . $email_uri . '"><img src="' . $images['icon_email'] . '" alt="' . $lang['Send_email'] . '" title="' . $lang['Send_email'] . '" border="0" /></a>';
$email = '<a href="' . $email_uri . '">' . $lang['Send_email'] . '</a>';
$template->assign_block_vars('switch_show_email',array(
'EMAIL_IMG' => $email_img,
'EMAIL' => $email,
'L_EMAIL_ADDRESS' => $lang['Email_address'],
'L_EMAIL' => $lang['Email'])
);
}
//GEAENDERT
$www_img = ( $profiledata['user_website'] ) ? '<a href="' . $profiledata['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['Visit_website'] . '" title="' . $lang['Visit_website'] . '" border="0" /></a>' : ' ';
$www = ( $profiledata['user_website'] ) ? '<a href="' . $profiledata['user_website'] . '" target="_userwww">' . $profiledata['user_website'] . '</a>' : ' ';
...
Code: Alles auswählen
...
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<!-- BEGIN switch_show_email -->
<tr>
<td valign="middle" align="right" nowrap="nowrap">
<span class="gen">
{L_EMAIL_ADDRESS}:
</span>
</td>
<td class="row1" valign="middle" width="100%">
<b>
<span class="gen">
{EMAIL_IMG}
</span>
</b>
</td>
</tr>
<!-- END switch_show_email -->
<tr>
<td valign="middle" nowrap="nowrap" align="right">
...
vielleicht bin ich einfach nur bloe(d)
Du hast einen kleinen Fehler beim Einbau gemacht.
In der profile_view_body.tpl muss es so aussehen:
Du musst jede profile_view_body.tpl abändern, damit die E-mail in den anderen Styles angezeigt wird. Oder was meinst du mit "kann ich den code auch innerhalb vom tpl-file machen?"?
In der profile_view_body.tpl muss es so aussehen:
Du musst immer den Namen des Bolckes (mit einen Punkt dahinter) vor eine Templatevariable stellen, wenn sie nur in dem Block angezeigt werden soll.<table width="100%" border="0" cellspacing="1" cellpadding="3">
<!-- BEGIN switch_show_email -->
<tr>
<td valign="middle" align="right" nowrap="nowrap">
<span class="gen">
{switch_show_email.L_EMAIL_ADDRESS}:
</span>
</td>
<td class="row1" valign="middle" width="100%">
<b>
<span class="gen">
{switch_show_email.EMAIL_IMG}
</span>
</b>
</td>
</tr>
<!-- END switch_show_email -->
<tr>
<td valign="middle" nowrap="nowrap" align="right">
Du musst jede profile_view_body.tpl abändern, damit die E-mail in den anderen Styles angezeigt wird. Oder was meinst du mit "kann ich den code auch innerhalb vom tpl-file machen?"?
beim xs-mod kann man ja auch php in des templates reinschreiben, wäre es dann möglich diesen php code in die tpl zu schreiben, um die änderung in der usercp_viewprofile.php nicht vorrauszusetztenDu musst jede profile_view_body.tpl abändern, damit die E-mail in den anderen Styles angezeigt wird. Oder was meinst du mit "kann ich den code auch innerhalb vom tpl-file machen?"?
hi nochmal
ich hab jetzt das ganze bisher ohne probleme eingebaut, aber er macht noch probleme:
Hier ein Bild
wieso zeigt der browser, den beruf nicht an, aber wohnort doppelt und falsch????
php-datei
tpl-datei
was ist falsch????????????
ich hab jetzt das ganze bisher ohne probleme eingebaut, aber er macht noch probleme:
Hier ein Bild
wieso zeigt der browser, den beruf nicht an, aber wohnort doppelt und falsch????
php-datei
Code: Alles auswählen
...
// LOC
if ( !empty($profiledata['user_from']) )
{
$loc_all =
' <td valign="middle" nowrap="nowrap" align="right">
<span class="gen">
' . $lang['Location'] . ':
</span>
</td>
<td class="row1" valign="middle" width ="550">
<span class="gen">
' . $profiledata['user_from'] . '
</span>
</td>';
$template->assign_block_vars('switch_show_loc',array('ALL' => $loc_all ));
} else {
$loc_all =
' <td valign="middle" nowrap="nowrap" align="right">
<span class="gen">
' . $lang['Location'] . ':
</span>
</td>
<td class="row1" valign="middle">
<span class="gen">
Keinen Wohnort angegeben
</span>
</td>';
$template->assign_block_vars('switch_show_loc',array('NOTHING' => $loc_all ));
}
// OCC
if ( !empty($profiledata['user_occ']) )
{
$occ_all =
' <td valign="middle" nowrap="nowrap" align="right">
<span class="gen">
' . $lang['Occupation'] . ':
</span>
</td>
<td class="row1" valign="middle" width ="550">
<span class="gen">
' . $profiledata['user_occ'] . '
</span>
</td>';
$template->assign_block_vars('switch_show_occ',array('ALL' => $occ_all ));
} else {
$occ_all =
' <td valign="middle" nowrap="nowrap" align="right">
<span class="gen">
' . $lang['Occupation'] . ':
</span>
</td>
<td class="row1" valign="middle">
<span class="gen">
Keinen Beruf angegeben
</span>
</td>';
$template->assign_block_vars('switch_show_loc',array('NOTHING' => $loc_all ));
}
...
Code: Alles auswählen
<tr>
<!-- BEGIN switch_show_loc -->
{switch_show_loc.ALL}{switch_show_loc.NOTHING}
<!-- END switch_show_loc -->
</tr>
<tr>
<!-- BEGIN switch_show_occ -->
{switch_show_occ.ALL}{switch_show_occ.NOTHING}
<!-- END switch_show_occ -->
</tr>
Bisher dachte ich, dass du z.B. die gesamte Zeile Beruf ausblenden möchtest, wenn der User nichts eingegeben hat. Wenn du dann jedoch nur hinter dem "Beruf:" einfach "Nicht angegeben" stehen haben möchtest, dann sind die ganzen switch-Anweisungen überflüssig.
Es würde dann reichen die Orginaldatei wie folgt anzupassen z.B. bei Wohnort:
mit
Zu deiner Frage:
Das Problem mit Wohnort und Beruf entsteht dadurch, dass du im folgenden Teil nochmal die Blockvariablen vom Wohnort anstatt vom Beruf zuweist:
Da ja beide Fälle nicht gleichzeitig auftreten können, reicht es z.B. der ALL-Variable immer den Wert zuzuweisen.
Das Rote müsste eigentlich wie folgt aussehen.
Wenn du die Zeilen aber ausbelden möchtest, das solltest du in der profile_view_body.tpl die BEGIN und END Anweisung vor das <tr> bzw. hinter das </tr> setzen.
Es würde dann reichen die Orginaldatei wie folgt anzupassen z.B. bei Wohnort:
Code: Alles auswählen
'LOCATION' => ( $profiledata['user_from'] ) ? $profiledata['user_from'] : ' ',
Code: Alles auswählen
'LOCATION' => ( $profiledata['user_from'] ) ? $profiledata['user_from'] : 'nicht angegeben',
Das Problem mit Wohnort und Beruf entsteht dadurch, dass du im folgenden Teil nochmal die Blockvariablen vom Wohnort anstatt vom Beruf zuweist:
Es ist auch überflüsssig zwei Variablen zu benutzen also NOTHING und ALL.} else {
$occ_all =
' <td valign="middle" nowrap="nowrap" align="right">
<span class="gen">
' . $lang['Occupation'] . ':
</span>
</td>
<td class="row1" valign="middle">
<span class="gen">
Keinen Beruf angegeben
</span>
</td>';
$template->assign_block_vars('switch_show_loc',array('NOTHING' => $loc_all ));
}
Da ja beide Fälle nicht gleichzeitig auftreten können, reicht es z.B. der ALL-Variable immer den Wert zuzuweisen.
Das Rote müsste eigentlich wie folgt aussehen.
Code: Alles auswählen
$template->assign_block_vars('switch_show_occ',array('ALL' => $occ_all ));