Ich benutze phpBB um eine einfache Community zu erstellen. Also, ich möchte eine costum-Seite erstellen, wo ich bestimmte Gruppen mit ihren Mitgliedern anzeigen möchte.Argument x an phpbb_generate_debug_output übergeben() muss eine Instanz von phpbb user sein
Der Code ist mein allererster Versuch, eine Costum-Site zu erstellen.
ich habe die members.php
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
// Inits Languagefile
page_header('test');
// Groups that should displayed
$group_ids = array(
5,
9,
);
// Get Groups from Database
$sql = 'SELECT group_id, group_name, group_desc FROM ' . GROUPS_TABLE . ' WHERE ' . $db->sql_in_set('group_id', $group_ids);
$result = $db->sql_query($sql);
// Write Data for each Group
while ($row = $db->sql_fetchrow($result)) {
$template->assign_block_vars('unit', array(
'GROUPNAME' => $row['group_name'],
'DESCRIPTION' => $row['group_desc'],
));
// Get Groupmembers from Database
$sqlusers = 'SELECT user_id FROM ' . USER_GROUP_TABLE . ' WHERE group_id = ' . $row['group_id'];
$users = $db->sql_query($sqlusers);
// Get User from Database
while ($user = $db->sql_fetchrow($users)) {
$sql_arr = array(
'SELECT' => 'u.user_id, u.username, u.user_avatar, r.rank_title, r.rank_image',
'FROM' => array(
USERS_TABLE => 'u',
RANKS_TABLE => 'r'
),
'WHERE' => 'u.user_id = ' . $user['user_id'] . ' AND u.user_rank = r.rank_id',
);
$sqluserdata = $db->sql_build_query('SELECT', $sql_arr);
$userdata = $db->sql_query($sqluserdata);
// Write Data for each User
while($single = $db->sql_fetchrow($userdata)) {
$template->assign_block_vars('unit.member', array(
'USERID' => $single['user_id'],
'USERNAME' => $single['username'],
'AVATAR' => $single['user_avatar'],
'RANK' => $single['rank_title'],
'RANGIMAGE' => $single['rank_image'],
));
}
$db->sql_freeresult($userdata);
}
$db->sql_freeresult($users);
}
$db->sql_freeresult($result);
// Load Template
$template->set_filenames(array(
'body' => 'members.html',
));
// End Controller
make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>
Und weil die Stile/*/members.html:
<!-- INCLUDE overall_header.html -->
<div id="sub-header">
<div class="chunk">
<div class="sub-header-title">
<h2 class="titlespace">Mitglieder</h2>
</div>
</div>
</div>
<div class="background-main">
<div class="chunk">
<!-- BEGIN unit -->
<div class="unit">
<h3>{unit.GROUPNAME}</h3>
<p>{unit.DESCR}</p>
<!-- BEGIN unit.member -->
<div class="unitmember" style="background-color:red;">
<p>{unit.member.USERNAME}</p>
<p>{unit.member.AVATAR}</p>
<p>{unit.member.USERID}</p>
<p>{unit.member.RANK}</p>
<p>{unit.member.RANKIMAGE}</p>
</div>
<!-- END unit.member -->
</div>
<!-- END unit -->
</div>
</div>
<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->
ich die Datenausgabe über var_dump getestet, jeder war in Ordnung .. ., aber jedes Mal analysiere ich die Vorlage an, mir diesen Fehler wirft:
„Abfangbare fatale Fehler: Argument 4() übergeben phpbb_generate_debug_output muss eine Instanz von phpbb \ user, boolean gegeben, genannt in C: \ xampp \ htdocs \ jgzga \ includes \ functions.php in Zeile 5431 und definiert in C: \ xampp \ htdocs \ jgzga \ includes \ functions.php in Zeile 5343 "
Ich habe nie die Core-Dateien von phpbb berührt ... so ... vielleicht können einige von euch mir helfen. ;)
Okay ... Es wirft den Fehler nur mit meiner Abfrage. Wenn ich die Abfrage auszeichne, rendert sie die - leere - Seite. – pestKater