Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.8 veröffentlicht (17.10.16)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
2. Profilseite
#1
Hallo,

ihr kennt ja sicher alle die Profilseite. Das die (wie ich finde) schwer zu konfiguriern ist, wegen der ganzen Tabellen, würde ich gerne eine 2. Seite anlegen wo mehr Infos drauf sind.

Aber wenn ich jetzt eine neue Seite habe und z.b. die sig abrufen will geht das nicht. Ich denke das er nicht weis von welchem Nutzer er die Daten beziehen soll. Wie änder ich das?

MfG Peronia
Zitieren
#2
Wie lautet dein Code?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Welcher code? vom template member_profil?

Hier der Code der neuen Seite:
Code:
<html>
<head>
<title>{$settings['bbname']} - </title>
{$headerinclude}
</head>
<body>
{$header}
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td class="thead"><strong></strong></td>
</tr>
<tr>
<td class="trow1" align="center">
{$signature}
</td></tr>
</tr>
</table>
{$footer}
</body>
</html>
Zitieren
#4
Und wo definierst du $signature?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
(12.12.2009, 14:30)Peronia schrieb: Welcher code? [...]

Der (PHP-)Code deiner zweiten Profilseite.
Zitieren
#6
Das ist ja eben meine Frage.

$signature steht auch so im Template member_profile, dachte es reicht wenn ich ihn da rein kopiere, war ja auch nur ein Test.

PHP Code habe ich keinen, ausser dem standart bei einer seite, wie er hier in der faq steht. Welchen müsste ich einbauen damit er die richtigen Daten ausgibt?
Zitieren
#7
Das Problem ist, dass du nirgens die Variablen definierst, welche du im Template anzeigen lassen willst.

Die einfachste Variante wäre eigentlich ein Plugin zu benutzen, welches die Variablen, welche schon in der member.php definiert werden auf deine neue Profilseite anwendet.

Hier mal ein Grundgerüst dafür:

inc/plugins/cumstomprofile.php
PHP-Code:
<?php

// Ey, du kummmst hier ned rein!
if(!defined('IN_MYBB'))
{
    die();
}

// Schauen wir mal, ob die member.php einen geeigneten Hook für uns bereitstellt. Ja, und zwar diesen:
$plugins->add_hook('member_profile_end','customprofile');

// Die Funktion muss sein - ist ja ein Plugin.
function customprofile_info()
{
    return array
    (
        
// Bitte anpassen :-)
        
'name'=>'Custom Profile',
        
'description'=>'Erstellt eine neue Profilseite.',
        
'website'=>'https://www.mybb.de/forum/thread-15271.html',
        
'author'=>'querschlaeger @ MyBBoard.de',
        
'version'=>'0.1',
        
'compatibility'=>'14*'
    
);
}

// Das hier ist der Kern des Plugins...
function customprofile()
{
    
// Diese globale MyBB-Variable benötigen wir auf jeden Fall.
    
global $mybb;
    
    
// Abfragen ob der Paramter für die persönliche Profilseite gesetzt ist.
    
if(isset($mybb->input['cumstomprofile']))
    {

        
// Hier laden wir (kommasepariert) alles was wir benötigen...
        
global $templates,$theme,$lang,$headerinclude,$header,$formattedname,$usertitle,$groupimage,$userstars,$memregdate,$membday,$membdayage,$localtime,$online_status,$avatar,$awaybit,$memlastvisitdate,$memlastvisittime,$memprofile,$timeonline,$reputation,$warning_level,$website,$sendemail,$profilefields,$signature,$modoptions,$footer;

        
// Nun noch das Templatesystem etwas arbeiten lassen und die Seite ausgeben.
        
eval('$customprofile="'.$templates->get('custom_member_profile').'";');
        
output_page($customprofile);

        
// Für alle Fälle brechen wir hier lieber ab.
        
exit();
    }
}

?>

In diesem Beispiel sollte das Template den Namen custom_member_profile haben. Dort kannst du alles benutzen, was in der member.php definiert und in der Plugindatei nachgeladen wird (global ...).

Willst du z.B. einfach nur die Signatur ausgeben, sollte dein Template so aussehen:

custom_member_profile
Code:
<html>
<head>
<title>{$mybb->settings['bbname']} - {$lang->profile}</title>
{$headerinclude}
</head>
<body>
{$header}
{$memprofile['signature']}
<br />
{$footer}
</body>
</html>

Um das persönliche Profil eines Mitgliedes aufzurufen, hängst du einfach den Parameter custumprofile and die URI an, z.B.
Code:
http://bburl.de/member.php?action=profile&uid=1&cumstomprofile
oder wenn du SEO aktiviert hast
Code:
http://bburl.de/user-1.html?cumstomprofile
Mit einer Rewrite-Regel kannst du das auch anpassen, z.B. in http://bburl.de/cumstomprofile-1 etc. (aber das würde jetzt zuweit führen).

Ich hoffe das ist alles verständlich. Smile
Zitieren
#8
Das ist schön!

Nur leider denke ich nicht das ich damit weit komme.

Ich glaube ich habe mich nicht so klar ausgedrückt. Ich möchte eine 2. Profilseite, wo man z.b. Hobbys und so (da wir ein mmorgp spielen auch eine 3d ansicht des chars) nachlesen kann. Da es sich als sehr schwirig gestaltet das direkt in die bestehende Profilseite einzufügen und auch zu viel sein würde wollte ich eine 2. Seite.

Wie ich einzelne profilfelder ausblende weis ich ja: https://www.mybb.de/forum/thread-6013.html

Ich hoffe das ist verständlich.
Zitieren
#9
Ich glaube ich verstehe nicht richtig. Big Grin

Das Plugin erstellt genau das, was du die ganze Zeit betonst: Eine zweite Profilseite zusätzlich zur normalen. Oder willst du die normale Profilseite nur umgestalten?
Zitieren
#10
Also ich möchte beides. Meine bestehende ändern und eine 2. seite.

Nur ich weis nicht wie ich dein "Grundgerüst" hndhaben soll (ist das denn schon fertig)
Weil ich kann kein php.

Und was soll ich hier
Zitat:// Bitte anpassen :-)
'name'=>'Custom Profile',
'description'=>'Erstellt eine neue Profilseite.',
'website'=>'https://www.mybb.de/forum/thread-15271.html',
'author'=>'querschlaeger @ MyBBoard.de',
'version'=>'0.1',
'compatibility'=>'14*'
genau anpassen?

irgendwie verstehe ich das alles nicht Confused sorry.

Hier meine jetzige profilseite:
Code:
<html>
<head>
<title>{$mybb->settings['bbname']} - {$lang->profile}</title>
{$headerinclude}
</head>
<body>
{$header}
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td class="trow1">
<table width="200" cellspacing="0" cellpadding="0" border="0"><tr>
<td class="trow1" width="75%">
<span class="largetext"><strong>{$formattedname}</strong></span><br />
<span class="smalltext">
({$usertitle})<br />
{$groupimage}<br />
<strong>{$lang->registration_date}</strong> {$memregdate}<br />
<strong>{$lang->date_of_birth}</strong> {$membday} {$membdayage}<br />
<strong>{$lang->local_time}</strong> {$localtime}<br />
<strong>{$lang->postbit_status}</strong> {$online_status}<br />
</span>
</td>
<td width="25%" align="right" valign="middle">
{$avatar}
</td>
</tr></table>
</td>
</tr>
{$awaybit}
</table>
<br />
<table width="100%" cellspacing="0" cellpadding="0" border="0" align="center">
<tr>
<td width="50%" valign="top">
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td colspan="2" class="thead"><strong>{$lang->users_forum_info}</strong></td>
</tr>
<tr>
<td class="trow1"><strong>{$lang->joined}</strong></td>
<td class="trow1">{$memregdate}</td>
</tr>
<tr>
<td class="trow2"><strong>{$lang->lastvisit}</strong></td>
<td class="trow2">{$memlastvisitdate} {$memlastvisittime}</td>
</tr>
<tr>
<td class="trow1"><strong>{$lang->total_posts}</strong></td>
<td class="trow1">{$memprofile['postnum']} ({$lang->ppd_percent_total})<br /><span class="smalltext">(<a href="search.php?action=finduserthreads&amp;uid={$uid}">{$lang->find_threads}</a> &mdash; <a href="search.php?action=finduser&amp;uid={$uid}">{$lang->find_posts}</a>)</span></td>
</tr>
<tr>
<td class="trow2"><strong>{$lang->timeonline}</strong></td>
<td class="trow2">{$timeonline}</td>
</tr>
{$reputation}
{$warning_level}
</table>
<br />
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td colspan="2" class="thead"><strong>{$lang->users_contact_details}</strong></td>
</tr>
<tr>
<td class="trow1"><strong>{$lang->homepage}</strong></td>
<td class="trow1">{$website}</td>
</tr>
{$sendemail}
<tr>
<td class="trow2"><strong>{$lang->pm}</strong></td>
<td class="trow2"><a href="private.php?action=send&amp;uid={$memprofile['uid']}">{$lang->send_pm}</a></td>
</tr>
<tr>
<td class="trow1"><strong>{$lang->icq_number}</strong></td>
<td class="trow1"><a href="javascript:;" onclick="MyBB.popupWindow('misc.php?action=imcenter&amp;imtype=icq&amp;uid={$uid}', 'imcenter', 450, 300);">{$memprofile['icq']}</a></td>
</tr>
<tr>
<td class="trow2"><strong>{$lang->aim_screenname}</strong></td>
<td class="trow2"><a href="javascript:;" onclick="MyBB.popupWindow('misc.php?action=imcenter&amp;imtype=aim&amp;uid={$uid}', 'imcenter', 450, 300);">{$memprofile['aim']}</a></td>
</tr>
<tr>
<td class="trow1"><strong>{$lang->yahoo_id}</strong></td>
<td class="trow1"><a href="javascript:;" onclick="MyBB.popupWindow('misc.php?action=imcenter&amp;imtype=yahoo&amp;uid={$uid}', 'imcenter', 450, 300);">{$memprofile['yahoo']}</a></td>
</tr>
<tr>
<td class="trow2"><strong>{$lang->msn}</strong></td>
<td class="trow2"><a href="javascript:;" onclick="MyBB.popupWindow('misc.php?action=imcenter&amp;imtype=msn&amp;uid={$uid}', 'imcenter', 450, 300);">{$memprofile['msn']}</a></td>
</tr>
</table>
</td>
<td><img src="{$theme['imgdir']}/pixel.gif" height="1" width="8" alt=""/></td>
<td width="50%" valign="top">
{$profilefields}
{$signature}
{$modoptions}
</td>
</tr>
</table>
{$footer}
</body>
</html>

Und ich würde eig nur gerne das das feld mit dem avatar so klein wie der rest wird und dafür danaben noch ein feld entsteht.
Zitieren