Switch's "verschachteln"?
Ich vermute, dass das Problem in der Verschachtelung liegt. Da gab's auch schon mal 'nen Beitrag dazu...
Wenn du ihn nicht findest, meld dich nochmals - dann suche ich auch mal.
Gruß, Philipp
Wenn du ihn nicht findest, meld dich nochmals - dann suche ich auch mal.
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
- D@ve
- Ehemaliges Teammitglied
- Beiträge: 3842
- Registriert: 28.08.2002 19:33
- Wohnort: Bretzfeld
- Kontaktdaten:
Edit: Für die Suche:
Statt:
Einfach nur:
Dann funktionierts...
Hier gibt's ne sehr gute Anleitung dazu
Edit 2: Noch 'nen Fehler gefunden...
Statt:
Code: Alles auswählen
if ($mode == 'newtopic' || ( $mode == 'editpost' && $post_info['topic_location_enable'] && $post_data['first_post']))
{
$template->assign_vars(array(
'ZIP' => $zip,
'CITY' => $city,
'L_ZIP' => $lang['ZIP'],
'L_CITY' => $lang['City'])
);
$map_mod_installed = ( (defined("MAP_MOD_MAP_TABLE") && defined("MAP_MOD_CONFIG_TABLE") ) ) ? true : false;
if ($map_mod_installed)
{
$template->assign_vars(array(
'L_FIND_PLACE' => $lang['map_find_place'],
'U_FIND_PLACE' => append_sid("map_search.$phpEx"),
'LONGITUDE' => $longitude,
'LATITUDE' => $latitude,
'L_LONGITUDE' => $lang['Longitude'],
'L_LATITUDE' => $lang['Latitude'])
);
$template->assign_block_vars('switch_map_mod_installed', array());
}
$template->assign_block_vars('switch_topic_location', array());
}
Code: Alles auswählen
if ($mode == 'newtopic' || ( $mode == 'editpost' && $post_info['topic_location_enable'] && $post_data['first_post']))
{
$template->assign_vars(array(
'ZIP' => $zip,
'CITY' => $city,
'L_ZIP' => $lang['ZIP'],
'L_CITY' => $lang['City'])
);
$map_mod_installed = ( (defined("MAP_MOD_MAP_TABLE") && defined("MAP_MOD_CONFIG_TABLE") ) ) ? true : false;
$template->assign_block_vars('switch_topic_location', array());
if ($map_mod_installed)
{
$template->assign_vars(array(
'L_FIND_PLACE' => $lang['map_find_place'],
'U_FIND_PLACE' => append_sid("map_search.$phpEx"),
'LONGITUDE' => $longitude,
'LATITUDE' => $latitude,
'L_LONGITUDE' => $lang['Longitude'],
'L_LATITUDE' => $lang['Latitude'])
);
}
$template->assign_block_vars('switch_topic_location.switch_map_mod_installed', array());
}
Hier gibt's ne sehr gute Anleitung dazu
Edit 2: Noch 'nen Fehler gefunden...
Zuletzt geändert von D@ve am 04.09.2004 20:35, insgesamt 1-mal geändert.
There are only 10 types of people in the world: Those who understand binary, and those who don't
Oder hier: KB:template_syntaxD@ve hat geschrieben:Hier gibt's ne sehr gute Anleitung dazu
- D@ve
- Ehemaliges Teammitglied
- Beiträge: 3842
- Registriert: 28.08.2002 19:33
- Wohnort: Bretzfeld
- Kontaktdaten:
Ich weiß, aber daraus bin ich nicht schlau geworden und werde es auch jetzt, wo ich es verstande nicht wirklich (so sorry).Pyramide hat geschrieben:Oder hier: <a href="/doku/kb/artikel.php?artikel=template_syntax" title="Eine Einführung in die Syntax der phpBB-Templates" target="_blank" class="postlink">Template-Syntax von phpBB</a>D@ve hat geschrieben:Hier gibt's ne sehr gute Anleitung dazu
Gruß, Dave
There are only 10 types of people in the world: Those who understand binary, and those who don't
-
- Mitglied
- Beiträge: 150
- Registriert: 06.05.2004 17:14
Mhhh...also ich schnall das nicht
Hier mal mein Code aus der page_header.php:
Wo und wie muss ich nun einen neuen Switch einbauen, damit ich diese wie vorne beim 1. Posting beschrieben verschachteln kann?
Viele liebe Grüsse,
Knalltrauma

Hier mal mein Code aus der page_header.php:
Code: Alles auswählen
//
// Login box?
//
if ( !$userdata['session_logged_in'] )
{
$template->assign_block_vars('switch_user_logged_out', array());
}
else
{
$template->assign_block_vars('switch_user_logged_in', array());
if ( !empty($userdata['user_popup_pm']) )
{
$template->assign_block_vars('switch_enable_pm_popup', array());
}
if ( $userdata['user_absence'] == TRUE )
{
$template->assign_block_vars('switch_absence', array());
}
}
// Add no-cache control for cookies if they are set
//$c_no_cache = (isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_sid']) || isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_data'])) ? 'no-cache="set-cookie", ' : '';
// Work around for "current" Apache 2 + PHP module which seems to not
// cope with private cache control setting
if (!empty($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache/2'))
{
header ('Cache-Control: no-cache, pre-check=0, post-check=0');
}
else
{
header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
}
header ('Expires: 0');
header ('Pragma: no-cache');
//
//Nickpagelink zeigen?
//
if ( $userdata['session_logged_in'] )
{
//Nickpage vorhanden?
$sql = "SELECT COUNT(uid) AS zaehle FROM ".NICKPAGE_TABLE." WHERE uid='".$userdata['user_id']."'";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Konnte Querrie nicht ausf¸hren!', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
//Konfiguration (ab wieviel posts...)
$sql = "SELECT anzahl_posts FROM ".NICKPAGECONFIG_TABLE;
if( !($result2 = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Konnte Querrie nicht ausf¸hren!', '', __LINE__, __FILE__, $sql);
}
$row2 = $db->sql_fetchrow($result2);
if($row['zaehle'] == "1" OR $row2['anzahl_posts'] <= $userdata['user_posts'])
{
$template->assign_block_vars('Shownickpagebutton',array(
'U_NICKPAGE' => append_sid('nickpage.'.$phpEx.'?admin='.$userdata['username']),
));
}
}
Viele liebe Grüsse,
Knalltrauma
---------------------------------
=Es lebe die Liebe!=
=Es lebe die Liebe!=
- D@ve
- Ehemaliges Teammitglied
- Beiträge: 3842
- Registriert: 28.08.2002 19:33
- Wohnort: Bretzfeld
- Kontaktdaten:
Das kommt auf den Switch an und wie Dein Template aussieht.
Hier mal allgemein gehaltener Code:
Hier mal allgemein gehaltener Code:
Code: Alles auswählen
//hier muss die Bedingung rein, bei der der INNERE Switch-Block gesetzt wird
if ($aeußerer_switch)
{
//hier die Template Platzhalter für den ÄUSSEREN Block definieren
$template->assign_vars(array(
'VAR_AUSSEN' => $var_aussen,
'L_VAR_AUSSEN' => $lang['var_aussen'])
);
//Hier werden die Variablen des ÄUSSEREN Blocks zugewiesen
template->assign_block_vars('switch_outer_block', array());
//hier muss die Bedingung rein, bei der der INNERE Switch-Block gesetzt wird
if ($innerer_switch)
{
//hier die Template Platzhalter für den INNEREN Block definieren
$template->assign_vars(array(
'VAR_AUSSEN' => $var_aussen,
'L_VAR_AUSSEN' => $lang['var_aussen'])
);
}
//Hier werden die Variablen des INNEREN Blocks zugewiesen
$template->assign_block_vars('switch_outer_block.switch_inner_block', array());
}
There are only 10 types of people in the world: Those who understand binary, and those who don't
-
- Mitglied
- Beiträge: 150
- Registriert: 06.05.2004 17:14
Hy D@ve...
Mhhh... ich krieg das einfach nicht zum laufen
Ich würde einfach gerne in den Switch "switch_user_logged_in" noch den Switch "switch_show_nickpage" einbauen. Also dass ein User der eingeloggt ist, auch auf seine Nickpage zugreiffen kann
Müsste ich das dann so machen?
Anstatt:
Neu:
Ich blick da nicht mehr durch bei all diesen Switchs

Mhhh... ich krieg das einfach nicht zum laufen


Müsste ich das dann so machen?
Anstatt:
Code: Alles auswählen
if ( !$userdata['session_logged_in'] )
{
$template->assign_block_vars('switch_user_logged_out', array());
}
Code: Alles auswählen
if ( !$userdata['session_logged_in'] )
{
$template->assign_block_vars('switch_user_logged_out.switch_show_nickpage', array());
}


---------------------------------
=Es lebe die Liebe!=
=Es lebe die Liebe!=
- D@ve
- Ehemaliges Teammitglied
- Beiträge: 3842
- Registriert: 28.08.2002 19:33
- Wohnort: Bretzfeld
- Kontaktdaten:
Nein, Du musst zwei If-Abfragen machen. Ein switch-Block ist nichts anderes als eine if-Anweisung. Zu jedem Block im Template muss im Prinzip eine if-Anweisung im Quellcode stehen. Weiß nicht ob Deine Auflösung dazu ausreicht hier mal Gegenüberstellung von php-Code und entsprechendem HTML-Code:
Hier sicherheitshalber noch mal als Image
http://www.2sound.de/files/switch_scheme.gif
Gruß, Dave
Code: Alles auswählen
if ($aeusserer_switch) <!--BEGIN switch_outer_block-->
{ <br>
$template->assign_vars(array( <h1>Irgendwelche Variablen:</h1>
<br>
'VAR_AUSSEN' => $var_aussen, <a href="{VAR_AUSSEN"}">{L_VAR_AUSSEN}</a><br>
'L_VAR_AUSSEN' => $lang['var_aussen']) <br>
); <br>
template->assign_block_vars('switch_outer_block', array()); <br>
if ($innerer_switch) <!--BEGIN switch_inner_block-->
{ <br>
$template->assign_vars(array( <h1>Irgendwelche anderen Variablen:</h1>
'VAR_AUSSEN' => $var_aussen, <b>{L_VAR_INNEN"}</b>:{VAR_INNEN}</a><br>
'L_VAR_AUSSEN' => $lang['var_aussen']) <br>
); <br>
} <!--END switch_inner_block-->
$template->assign_block_vars('switch_outer_block.switch_inner_block', array()); <br>
} <!--BEGIN switch_outer_block-->
Hier sicherheitshalber noch mal als Image
http://www.2sound.de/files/switch_scheme.gif
Gruß, Dave
There are only 10 types of people in the world: Those who understand binary, and those who don't
wieder mal verschachtelte switches:
hi, seit langem hab ich wieder das prob. mit den verschachtelten switches
nun bin ich in der posting_body.tpl unterwegs (das was ihr seht, wenn ihr mir auf diese frage eine antwort bastelt
) - da gibts unter diesem feld in dem ich gerade schreibe die checkboxen
...
bbcode deaktivieren
smilies deaktivieren
benachrichtigt mich, wenn eine antwort geschrieben wurde
...
einige dieser checkboxen möchte ich nur dem moderator sichtbar machen, also einen
<!-- switch mod_loged_in --> einbauen, nur hab ich wieder das problem, das durch das verschachteln der marker nix mehr funkt - d.h. der inhalt zwischen meinem marker nicht geparst wird -
besten dank für eure mithilfe
bedee
nun bin ich in der posting_body.tpl unterwegs (das was ihr seht, wenn ihr mir auf diese frage eine antwort bastelt

...
bbcode deaktivieren
smilies deaktivieren
benachrichtigt mich, wenn eine antwort geschrieben wurde
...
einige dieser checkboxen möchte ich nur dem moderator sichtbar machen, also einen
<!-- switch mod_loged_in --> einbauen, nur hab ich wieder das problem, das durch das verschachteln der marker nix mehr funkt - d.h. der inhalt zwischen meinem marker nicht geparst wird -
wie müsst das nun in der posting_body.tpl und der zugehörigen posting.php aussehen, damit das auch tickt?<!-- BEGIN switch_moderator_logged_in -->
<td class="row1" valign="top"><span class="gen"><b>{L_OPTIONS}</b></span><br /><span class="gensmall">{HTML_STATUS}<br />{BBCODE_STATUS}<br />{SMILIES_STATUS}</span></td>
<td class="row2"><span class="gen"> </span>
<table cellspacing="0" cellpadding="1" border="0">
<!-- BEGIN switch_html_checkbox -->
<tr>
<td>
<input type="checkbox" name="disable_html" {S_HTML_CHECKED} />
</td>
<td><span class="gen">{L_DISABLE_HTML}</span></td>
</tr>
<!-- END switch_html_checkbox -->
<!-- BEGIN switch_bbcode_checkbox -->
<tr>
<td>
<input type="checkbox" name="disable_bbcode" {S_BBCODE_CHECKED} />
</td>
<td><span class="gen">{L_DISABLE_BBCODE}</span></td>
</tr>
<!-- END switch_bbcode_checkbox -->
<!-- BEGIN switch_smilies_checkbox -->
<tr>
<td>
<input type="checkbox" name="disable_smilies" {S_SMILIES_CHECKED} />
</td>
<td><span class="gen">{L_DISABLE_SMILIES}</span></td>
</tr>
<!-- END switch_smilies_checkbox -->
<!-- BEGIN switch_signature_checkbox --> <tr>
<td>
<input type="checkbox" name="attach_sig" {S_SIGNATURE_CHECKED} />
</td>
<td><span class="gen">{L_ATTACH_SIGNATURE}</span></td>
</tr>
<!-- END switch_signature_checkbox -->
<!-- BEGIN switch_notify_checkbox -->
<tr>
<td>
<input type="checkbox" name="notify" {S_NOTIFY_CHECKED} />
</td>
<td><span class="gen">{L_NOTIFY_ON_REPLY}</span></td>
</tr>
<!-- END switch_notify_checkbox -->
<!-- BEGIN switch_delete_checkbox -->
<tr>
<td>
<input type="checkbox" name="delete" />
</td>
<td><span class="gen">{L_DELETE_POST}</span></td>
</tr>
<!-- END switch_delete_checkbox -->
<!-- BEGIN switch_type_toggle -->
<tr>
<td></td>
<td><span class="gen">{S_TYPE_TOGGLE}</span></td>
</tr>
<!-- END switch_type_toggle -->
</table>
<!-- END switch_moderator_logged_in -->
besten dank für eure mithilfe
bedee
- Leuchte
- Ehemaliges Teammitglied
- Beiträge: 9179
- Registriert: 26.05.2003 14:57
- Wohnort: Duisburg
- Kontaktdaten:
Seh ich jetzt erst, aber falls mal einer die selbe Frage hat 
@bedee, die posting_body.tpl so wie sie da ist.
Die posting.php wiefolgt ändern - FindeErsetzen mitFindeErsetzen mitSo veränderst du auch die anderen switches. Such einfach nach switch_smilies_checkbox usw.

Das passiert sowieso, auch ohne zusätzlichen Switch.knalltrauma hat geschrieben:Hy D@ve...
Mhhh... ich krieg das einfach nicht zum laufenIch würde einfach gerne in den Switch "switch_user_logged_in" noch den Switch "switch_show_nickpage" einbauen. Also dass ein User der eingeloggt ist, auch auf seine Nickpage zugreiffen kann
@bedee, die posting_body.tpl so wie sie da ist.
Die posting.php wiefolgt ändern - Finde
Code: Alles auswählen
$template->assign_block_vars('switch_html_checkbox', array());
Code: Alles auswählen
$template->assign_block_vars('switch_moderator_logged_in.switch_html_checkbox', array());
Code: Alles auswählen
$template->assign_block_vars('switch_bbcode_checkbox', array());
Code: Alles auswählen
$template->assign_block_vars('switch_moderator_logged_in.switch_bbcode_checkbox', array());