Ändra vad som syns i profilen
Moderatorer: Moderatorgrupp, Supportgrupp
Ändra vad som syns i profilen
Först provade jag att bara lägga in koden i tpl-filen, men det ville sig inte.
Därför började jag fundera över alla funktioner (eller vad det är) som finns i filen annars, tex {INTERESTS} innan jag kom fram till att jag inte har någon aning om hur de fungerar. Varifrån läses dessa? Är det kanske bara jag som gör fel? Kan man skriva php-kod direkt i en tpl-fil?
Den fil du ska editera för att ändra PHP-kod är <forumrot>/includes/usercp_viewprofile.php
Från den filen tilldelas alla Template-variabler (t.ex. {INTERESTS}) sina värden.
Du kan skapa egna variabler, och sedan visa dem på den TPL-fil som hör till PHP-filen.
/marcus
Nu får jag dock nya problem. Efterson den mängd data som ska visas är olika från användare till användare blir det väldigt krångligt på det där viset.
Det är bara ett fält i tabellen jag vill lägga till, och det allra enklaste vore om den på något sätt kunde läsa in en hel tabell jag krånglat fram och ha den i fältet.
Jag antar att jag var väldigt otydlig nu, så jag tog mig tid att göra en fin bild istället som kan förklara allt.
Be om extra förklaring om jag fortfarande är otydlig.
Dvs. du till delar 'min_tabell' => '<table><tr><td>Sven</td><td>Man... ...</table>',
Och sedan kommer TPL-filen att kasta in din tabell där du sätter in {min_tabell}
Och jag antar att du kanske inte har helt statiskt "Sven" där, utan att du har någon form av databas i botten som du hämtar in data ifrån...
Ex. du har en databas som med koppling till userId i phpBB innehåller lite info. T.ex. 100, 'Sven', 'Man'.
Sedan när du ska hämta ut alla data för user 100, så skriver du:
$resultat = mysql_query('SELECT * FROM minDatabasTabell WHERE userId = {$userID_fran_phpBB}");
$resultat kommer nu innehålla alla rader i din egen tabell som har med user 100 (om du $userId_fran_phpBB är satt till just 100).
Sedan skapar du en tabell, men en rad för varje rad i din databas.
Denna tabell tilldelar du in i en variabel, som du slutligen tilldelar "templatvarabeln" min_tabell.
/marcus
PS!
Svarar rätt kort, för du verkar ha koll på HTML...
DS!
Nu är problemet att jag sitter och krånglar med 4 databaser för att få fram tabellen. Ifrågasätt inte det, det är absolut nödvändigt.
Nu har jag bara en fråga som förmodligen och förhoppningsvis är väldigt enkel. Det är nämligen som så att jag aldrig fattat hur man skriver i php för att lägga till saker i en sträng (eller varchar eller vad det heter). Exempel:
Kod: Markera allt
$test="svenne";
$test+=" och lotta"; //så här kan man väl inte skriva?Kod: Markera allt
$test = "Marcus";
$test .= " är kung på PHP! ;-)";"Marcus är kung på PHP!
På detta sätta kan du sedan använda .-tecknet till att binda ihop variabler och statiska strängar. T.ex.:
Kod: Markera allt
$minVar = "<table>\n";
while($raddata = mysql_fetch_array($databassvar) {
$minVar .= "\t<tr>\n";
$minVar .= "\t\t<td>" . $raddata['name'] . "</td>\n";
$minVar .= "\t\t<td>" . $raddata['sex'] . "</td>\n";
$minVar .= "\t</tr>\n";
}
$minVar .="</table>";
/marcus
Då var det bara ett problem kvar (för den här gången). När man tittar på en profil står det ju u=användarens id, i mitt fall 2236. Nu är den stora frågan var man hittar det värdet i usercp_viewprofile.php, och om det inte finns alls där; hur får man med sig det dit från profile.php?
$profiledata['user_id']
någon av dom så får man fram id i en php fil..
så typ i usercp_viewprofile.php kan du lägga till
Kod: Markera allt
'USERID' => $profiledata['user_id'],Kod: Markera allt
'POST_PERCENT_STATS' => sprintf($lang['User_post_pct_stats'], $percentage), sen är det bara att i profile_add_body.tpl lägga till
Kod: Markera allt
{USER_ID}Vilka är online
Användare som besöker denna kategori: 6 och 0 gäster



