Seite 1 von 2
Who is Online in andere Datei geschoben
Verfasst: 09.02.2007 20:16
von Richi2
Also ich habe das Who is Online in eine andere Datei geschoben, von index_body.tpl in den overall_header.tpl.
Jetzt ist es so, dass das Who is Online auf der Startseite funktioniert, aber nicht wenn ich in ein Beitrag oder so reingehe! (Also das who is online bleibt immer stehen!)
In welchen Datein muss ich was ändern?
Danke
Verfasst: 09.02.2007 20:35
von gn#36
Ich denke du musst nur mit dem folgenden Code genau dasselbe tun:
Befindet sich in der index.php und muss dann (da show_online ja überall gebraucht wird) in die page_header.php im includesverzeichnis. Vielleicht funktioniert es sauberer mit dem Folgenden im page_header.php
Code: Alles auswählen
if(!defined('SHOW_ONLINE'))
{
define('SHOW_ONLINE', true);
}
Auf diese Weise gibt es keine Fehlermeldungen durch Doppeldefinitionen.
Einfach ziemlich am Anfang einfügen dürfte reichen (z.B. nach
Code: Alles auswählen
if ( !defined('IN_PHPBB') )
{
die("Hacking attempt");
}
define('HEADER_INC', TRUE);
)
Verfasst: 09.02.2007 20:41
von Richi2
danke ich werds ausprobieren!
MFG
Verfasst: 09.02.2007 21:10
von Richi2
also diese art von code klappt an den stellen nicht!
gibt es noch andere varianten das einzustellen?
MFG
Richard
Verfasst: 09.02.2007 21:55
von gn#36
Blöd, ich dachte die Zuweisung der generierten Variablen würde ebenfalls im Page_header gemacht...
Du benötigst noch diesen Code:
Code: Alles auswählen
$template->assign_vars(array(
'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts),
'TOTAL_USERS' => sprintf($l_total_user_s, $total_users),
'NEWEST_USER' => sprintf($lang['Newest_user'], '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$newest_uid") . '">', $newest_user, '</a>'),
'FORUM_IMG' => $images['forum'],
'FORUM_NEW_IMG' => $images['forum_new'],
'FORUM_LOCKED_IMG' => $images['forum_locked'],
'L_FORUM' => $lang['Forum'],
'L_TOPICS' => $lang['Topics'],
'L_REPLIES' => $lang['Replies'],
'L_VIEWS' => $lang['Views'],
'L_POSTS' => $lang['Posts'],
'L_LASTPOST' => $lang['Last_Post'],
'L_NO_NEW_POSTS' => $lang['No_new_posts'],
'L_NEW_POSTS' => $lang['New_posts'],
'L_NO_NEW_POSTS_LOCKED' => $lang['No_new_posts_locked'],
'L_NEW_POSTS_LOCKED' => $lang['New_posts_locked'],
'L_ONLINE_EXPLAIN' => $lang['Online_explain'],
'L_MODERATOR' => $lang['Moderators'],
'L_FORUM_LOCKED' => $lang['Forum_is_locked'],
'L_MARK_FORUMS_READ' => $lang['Mark_all_forums'],
'U_MARK_READ' => append_sid("index.$phpEx?mark=forums"))
);
Der muss VOR das hier in der page_header.php
Code: Alles auswählen
}
//
// Obtain number of new private messages
// if user is logged in
//
Diese Änderung natürlich zusätzlich zum oben geposteten
Verfasst: 09.02.2007 22:17
von Richi2
tja, es klappt trotzdem nicht!
hast du vllt noch einen vorschlag?
ich will das aber unbeingt hinbekommen!
MFG
Verfasst: 10.02.2007 15:44
von gn#36
Das nächste mal sollte ich mich damit wohl eingehender beschäftigen. Direkt oberhalb des zuletzt eingefügten Codes muss noch das hier hin:
Code: Alles auswählen
//
// If you don't use these stats on your index you may want to consider
// removing them
//
$total_posts = get_db_stat('postcount');
$total_users = get_db_stat('usercount');
$newest_userdata = get_db_stat('newestuser');
$newest_user = $newest_userdata['username'];
$newest_uid = $newest_userdata['user_id'];
if( $total_posts == 0 )
{
$l_total_post_s = $lang['Posted_articles_zero_total'];
}
else if( $total_posts == 1 )
{
$l_total_post_s = $lang['Posted_article_total'];
}
else
{
$l_total_post_s = $lang['Posted_articles_total'];
}
if( $total_users == 0 )
{
$l_total_user_s = $lang['Registered_users_zero_total'];
}
else if( $total_users == 1 )
{
$l_total_user_s = $lang['Registered_user_total'];
}
else
{
$l_total_user_s = $lang['Registered_users_total'];
}
Das habe ich getestet und es funktioniert. Außerdem war in meinem ersten Post bei dem if(!defined()) ein Syntaxfehler durch eine fehlende Klammer.
Verfasst: 11.02.2007 10:25
von Richi2
und wo ist da der fehler, bei (!define... ?
schreib den nochmal hin bitte!
MFG
Richard
Verfasst: 11.02.2007 12:34
von gn#36
Ist inzwischen korrigiert.
Am Ende fehlte eine schließende Klammer. Das dürfte dann aber - wenn es bei dir auch noch falsch ist - mit einem Parse Error quittiert werden. Sollte das nicht der Fall sein ist alles ok.
if(!defined('SHOW_ONLINE'))
{
define('SHOW_ONLINE', true);
}
Verfasst: 11.02.2007 13:02
von Richi2
also vielen dank!
es hat geklappt!
danke vielmals
MFG
Richard