Auslesen benutzerdefinierter Profilfelder

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
monumentum
Mitglied
Beiträge: 7
Registriert: 21.11.2011 15:16

Auslesen benutzerdefinierter Profilfelder

Beitrag von monumentum »

Hallo,

Weder die SuFu noch Allzwecklexikon Google wussten weiter. Ich möchte ein bestimmtes Feld auslesen, und zwar den Minecraftnicknamen. Dieses Feld wird bei der Registrierung mit dem Usernamen gefüttert, welcher dann eine Statistik abruft. Aber seht selbst:

viewtopci_body.html:

Code: Alles auswählen

		<!-- BEGIN custom_fields -->
			<dd><strong>{postrow.custom_fields.PROFILE_FIELD_NAME}:</strong> {postrow.custom_fields.PROFILE_FIELD_VALUE}</dd>
		<!-- END custom_fields -->
<!-- PHP -->
$user->get_profile_fields($user->data['user_id']);
$mcnick = $user->profile_fields['pf_minecraftnick'];

  
  $link = mysql_connect('localhost', 'root', 'root');
  $sql = "SELECT * FROM `gs_mc`.`lb-players` WHERE `playername` = '$mcnick';";
  $mc_time = mysql_query($sql, $link);
  while($row = mysql_fetch_object($mc_time))
{
  $mc_online = $row->onlinetime;
  $mc_login = $row->lastlogin;
  $mc_online = (int)$mc_online;
  $mc_online = $mc_online / 60;
  
echo "<dd><strong>Onlinezeit:</strong> " .$mc_online. " Minuten</dd>";
echo "<dd><strong>Letzer Serverlogin:</strong> " .$mc_login. "</dd>";
}
<!-- ENDPHP -->
Das Problem ist nur, dass bei allen Usern das gleiche drunter steht. Also werden einmal Daten genommen, und bei jedem ausgegeben. Es sollen aber immer die Daten des Beitragerstellers ausgegeben werden. Ich müsste jetzt also immer das Feld "minecraftnick" für den jeweiligen Benutzer auslesen, und nicht nur für einen. Wie kriege ich es hin, das Feld für den Postautor abzufragen?


Vielen Dank,
monumentum
Verschoben von phpBB 3.0: Administration und Benutzung nach phpBB 3.0: Mod-Bastelstube am 23.07.2012 14:01 durch Metzle

monumentum
Mitglied
Beiträge: 7
Registriert: 21.11.2011 15:16

Re: Auslesen benutzerdefinierter Profilfelder

Beitrag von monumentum »

Niemand eine Idee?
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Auslesen benutzerdefinierter Profilfelder

Beitrag von Miriam »

  1. Du traust Dich ja was: $link = mysql_connect('localhost', 'root', 'root'); in ein Temploate zu benutzen.
  2. Das Object $user enthält die Daten des angemeldeten Users, nicht desjenigen, der das Posting verfasst hat. Du mußt die Daten postingbezogen ermitteln. Sie Dir mal das Array $postrow in der viewtopic.php an. Dort könntest Du ansetzen.
Lies bitte hier und insbesondere hier.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
monumentum
Mitglied
Beiträge: 7
Registriert: 21.11.2011 15:16

Re: Auslesen benutzerdefinierter Profilfelder

Beitrag von monumentum »

Danke für deine Antwort. Leider hat mir folgendes nix gebracht:

Code: Alles auswählen

$postrow['POSTER_POSTS']
$template->_tpldata['postrow'][0]['POSTER_POSTS']
Ich habe als 'Versuchskaninchen' die Beitragszahl genommen, aber sie wird nicht ausgegeben. (natürlich mit echo davor ;) ) - Auch Cache geleert...

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

Re: Auslesen benutzerdefinierter Profilfelder

Beitrag von Miriam »

Das wird so nichts. Du mußt es in der viewtopic klären, weil Du im Template keine Möglichkeit hast, den Post-Usernamen wirkungsvoll zu übergeben.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“