Seite 1 von 1

profilseite

Verfasst: 12.10.2006 21:52
von keen
möchte folgende anpassung:

user soll wenn er auf 'profil' klickt nicht mehr zu 'profile.php?mode=editprofile' sondern zu
'profile.php?mode=viewprofile&u=xxx' also zu seiner profilansicht anstelle zu der profil-berarbeiten seite kommen.

damit das profil bearbeitbar bleibt soll auf der profil-seite dann noch (wenn es die profilseite des users ist + dieser eingeloggt ist) ein link (profile.php?mode=editprofile) zum bearbeiten des profils sein.

-> was/welche dateien muss ich dafür bearbeiten?
thx

Verfasst: 12.10.2006 23:35
von gn#36
Der Link zum Profil ist schon mal in der includes/page_header.php zu finden.
Dort gibt es eine Zeile

Code: Alles auswählen

'U_PROFILE' => append_sid('profile.'.$phpEx.'?mode=editprofile'),
diese ersetzen durch

Code: Alles auswählen

'U_PROFILE' => append_sid('profile.' . $phpEx . '?mode=viewprofile&' . POST_USERS_URL .'='.$userdata['user_id']),
Die andere Geschichte ist nicht ganz so einfach, denn dazu musst du neben den PHP Dateien auch die Templates bearbeiten.

Die nächste Datei ist includes/usercp_viewprofile.php.
Hier musst du

Code: Alles auswählen

$template->pparse('body');
suchen und davor einfügen

Code: Alles auswählen

if ($profiledata['user_id'] == $userdata['user_id'] && $userdata['user_id'] != ANONYMOUS)
{
$template->assign_block_vars('editprofile',array('L_EDIT_PROFILE' => $lang['Edit_profile'],
'U_EDIT_PROFILE' => append_sid('profile.'.$phpEx.'?mode=editprofile')));
}
Jetzt muss dieser Block natürlich noch im Template erstellt werden:
Das folgende gilt nur für das Template subsilver, bei anderen musst du entsprechend anpassen.
Öffne: templates/subsilver/profile_view_body.tpl
Suche

Code: Alles auswählen

</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr> 
	<td align="right"><span class="nav"><br />{JUMPBOX}</span></td>
  </tr>
</table>
(das erste Table nicht vergessen!!)
davor einfügen:

Code: Alles auswählen

<!-- BEGIN editprofile -->
  <tr>
  	<td class="catHead" colspan="2" align="center"><span class="cattitle"><a href="{editprofile.U_EDIT_PROFILE}">{editprofile.L_EDIT_PROFILE}</a></span></td>
  </tr>
  <!-- END editprofile -->
Falls du es lieber an einer anderen Stelle haben willst musst du das selbst iim template entsprechend anpassen.

Jetzt muss noch eine Variable mit dem Beschreibungstext in den Sprachdateien angelegt werden:
Öffne language/lang_german/lang_main.php
füge am Ende vor dem ?> ein:

Code: Alles auswählen

$lang['Edit_profile']='Profil bearbeiten';
Falls du mehrere Sprachen hast musst du das ganze natürlich in der Entsprechenden Sprache in allen Sprachen einfügen.

Das sollte es eigentlich sein.

Alle Dateien vor der Bearbeitung sichern! Ich habe das nicht getestet und übernehme keine Garantie dass es funktioniert!

Verfasst: 13.10.2006 00:10
von keen
thx, der erste teil (includes/page_header.php) klappt schonmal, leider wird aber auf der profilseite kein link zum bearbeiten des profils angezeigt..

Verfasst: 13.10.2006 00:46
von gn#36
Benutzt du denn auch SubSilver? Wenn du ein anderes Template benutzt darfst du den Schritt natürlich nicht ignorieren.

EDIT:
Ich habe einen Fehler gemacht!

Geh noch mal in die Templatedatei und ändere das {L_EDIT_PROFILE} in ein {editprofile.L_EDIT_PROFILE}!

Verfasst: 20.10.2006 20:08
von keen
vielen dank :P

Verfasst: 13.11.2006 03:26
von color
Hi
ich möchte was ähnliches machen,wen ich einen profil von user angucke möchte ich einen link mit dem ich sofort seine profil ändern kan wehre das auch machbar.

danke im vorraus

Verfasst: 13.11.2006 15:51
von gn#36
Schwieriger, denn das gehört ja eigentlich zum Adminbereich der gesondert geschützt ist.

Dafür müsste es aber eigentlich bereits einen Mod geben, der im Adminbereich eine Userliste anzeigt.

Verfasst: 13.11.2006 19:13
von color
es gibt hier einen snippel aber ich habe einen problem damit
http://www.phpbb.de/viewtopic.php?p=788207#788207

Verfasst: 13.11.2006 22:47
von darkon
Warum nehmt ihr nicht einfach den easyUCP-Mod von www.Amigalink.de ?

Da habt ihr neben dem Vorteil der Profilansicht das Profil auch noch den Vorteil, daß das ellenlange Formular zum bearbeiten in 5 einzeln abrufbare Blöcke aufgeteilt wurde.