Ändra vad som syns i profilen

Detta är ett arkiv för phpBB2 Support, Diskussion, MODar, Stilar och översättningar. Den tillhandahålls endast för referensändamål.

Moderatorer: Moderatorgrupp, Supportgrupp

Rehn
Medlem
Medlem
Inlägg: 18
Blev medlem: 2007-02-08 20:12
Svar: 0

Ändra vad som syns i profilen

Inlägg av Rehn »

Om jag vill ändra något i vad som syns när man klickar på en användares profil antar jag att jag går in och gör det i profile_view_body.tpl, men nu är det så att det jag vill lägga till inkluderar lite php-kod och en del som läses från databaser. Då blir jag osäker på hur jag ska göra.

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?
Användarens profilbild
Marcus
Hedersmedlem
Hedersmedlem
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Svar: 0

Inlägg av Marcus »

Nej, du kan inte lägga till php-kod i TPL-filen.

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
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.
Rehn
Medlem
Medlem
Inlägg: 18
Blev medlem: 2007-02-08 20:12
Svar: 0

Inlägg av Rehn »

Super :mrgreen:, tack så mycket.

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.

Bild

Be om extra förklaring om jag fortfarande är otydlig.
Användarens profilbild
Marcus
Hedersmedlem
Hedersmedlem
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Svar: 0

Inlägg av Marcus »

Prova att trycka in en tabell i sin helhet, så ser du om det blir bra.

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!
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.
Rehn
Medlem
Medlem
Inlägg: 18
Blev medlem: 2007-02-08 20:12
Svar: 0

Inlägg av Rehn »

Så kan man såklart göra! Så smart!

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?
Användarens profilbild
Marcus
Hedersmedlem
Hedersmedlem
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Svar: 0

Inlägg av Marcus »

Nästan, du använder inte addition utan konkatenering.

Kod: Markera allt

$test = "Marcus";
$test .= " är kung på PHP! ;-)";
Då kommer $test att innehålla:

"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>";
Har iofs. för mig att Java (eller om det är Javascript, eller båda) har += för både matematik och stänghantering.

/marcus
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.
Rehn
Medlem
Medlem
Inlägg: 18
Blev medlem: 2007-02-08 20:12
Svar: 0

Inlägg av Rehn »

Det där stämmer ju alldeles utmärkt och fungerar likaså!

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?
Användarens profilbild
PazZze
Support
Support
Inlägg: 1028
Blev medlem: 2004-05-10 11:19
Svar: 0

Inlägg av PazZze »

$userdata['user_id']
$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'],
efter

Kod: Markera allt

'POST_PERCENT_STATS' => sprintf($lang['User_post_pct_stats'], $percentage), 
den finns nästan längst ner på sidan..

sen är det bara att i profile_add_body.tpl lägga till

Kod: Markera allt

{USER_ID}
där du vill ha id:et utskrivet
Joel PazZze Martinsson - phpBB Sverige Support
Skriv svar

Vilka är online

Användare som besöker denna kategori: 6 och 0 gäster