Nichtpage Userpic in viewtopic

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
scheibenbrot
Mitglied
Beiträge: 1552
Registriert: 23.12.2005 14:32

Beitrag von scheibenbrot »

sorry, funktioniert genauso wenig
Love is the slowest form of suicide.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

scheibenbrot hat geschrieben:ja, aber ich finde zu dem userpic nichts in der nickpage.php was das definiert
Klüsen auf :o

nickpage.php --->
$sql = "SELECT a.username, a.user_session_time, a.user_lastvisit, a.user_email, a.user_from, a.user_website, a.user_interests, a.user_viewemail, b.uid, b.name, b.info, b.visits, b.born, b.specialnick, b.pic, b.kreatives FROM ".USERS_TABLE." a, ".NICKPAGE_TABLE." b WHERE a.user_id='".$uid."' AND b.uid = '".$uid."'";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user/online information', '', __LINE__, __FILE__, $sql);
}
Und schon hast Du Dein $row['pic'].... Musst es nur noch an die viewtopic anpassen und vor allen die poster_id benutzen anstelle der user_id ... Die SQL Abfrage kannst Du auch 'ne ganze Ecke kürzen.

Fertig ist die Nickpage-Bild-Anzeige. :D
Zuletzt geändert von Miriam am 02.06.2007 16:15, insgesamt 1-mal geändert.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
scheibenbrot
Mitglied
Beiträge: 1552
Registriert: 23.12.2005 14:32

Beitrag von scheibenbrot »

Und wie genau muss ich das machen?
Love is the slowest form of suicide.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Wo hakt es konkret? Wie weit kommst Du aus eigener Kraft? :o
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
scheibenbrot
Mitglied
Beiträge: 1552
Registriert: 23.12.2005 14:32

Beitrag von scheibenbrot »

hm, ich habe einfach unter:

Code: Alles auswählen

//
// This rather complex gaggle of code handles querying for topics but
// also allows for direct linking to a post (and the calculation of which
// page the post is on and the correct display of viewtopic)
//
$join_sql_table = (!$post_id) ? '' : ", " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2 ";
$join_sql = (!$post_id) ? "t.topic_id = $topic_id" : "p.post_id = $post_id AND t.topic_id = p.topic_id AND p2.topic_id = p.topic_id AND p2.post_id <= $post_id";
$count_sql = (!$post_id) ? '' : ", COUNT(p2.post_id) AS prev_posts";

$order_sql = (!$post_id) ? '' : "GROUP BY p.post_id, t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments ORDER BY p.post_id ASC";
folgendes eingefügt:

Code: Alles auswählen

$sql = "SELECT a.username, a.user_session_time, a.user_lastvisit, a.user_email, a.user_from, a.user_website, a.user_interests, a.user_viewemail, b.uid, b.name, b.info, b.visits, b.born, b.specialnick, b.pic, b.kreatives FROM ".USERS_TABLE." a, ".NICKPAGE_TABLE." b WHERE a.user_id='".$uid."' AND b.uid = '".$uid."'"; 
if( !($result = $db->sql_query($sql)) )
{
        message_die(GENERAL_ERROR, 'Could not obtain user/online information', '', __LINE__, __FILE__, $sql);
}
Damit kommt zwar keine Fehlermeldung aber auch kein Bild :cry:
Love is the slowest form of suicide.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Aua :D

Na gut, dann schaue ich mal....

Finde in viewtopic.php:

Code: Alles auswählen

for($i = 0; $i < $total_posts; $i++)
{
        $poster_id = $postrow[$i]['user_id'];
danach füge ein:

Code: Alles auswählen

        // Bild aus NP je Poster auslesen
        $sql = "SELECT pic FROM " . NICKPAGE_TABLE . " WHERE uid = '" . $poster_id . "'";
        if( !($result = $db->sql_query($sql)) )
        {
            message_die(GENERAL_ERROR, 'Could not obtain user nickpage pic', '', __LINE__, __FILE__, $sql);
        }
        if ($row = $db->sql_fetchrow($result))
             $poster_np_pic = "<img src=" . $row['pic'] ." alt=\"\" title=\"\">";
        // Ende Bild aus NP auslesen
finde:

Code: Alles auswählen

        $template->assign_block_vars('postrow', array(
                'ROW_COLOR' => '#' . $row_color,
                'ROW_CLASS' => $row_class,
                'POSTER_NAME' => $poster,
danach füge ein:

Code: Alles auswählen

                'POSTER_NP_PIC' => $poster_np_pic, 
Suche Dir eine Stelle in der viewtopic_body.tpl und setze die Variable

Code: Alles auswählen

{postrow.POSTER_NP_PIC}
ein, wo sie Dir am besten gefällt.

Probier's aus.


Aber mich würde immernoch interessieren, wo Du in der Standard-phpBB eine Nickpage gefunden hast..... :o :o :o
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
scheibenbrot
Mitglied
Beiträge: 1552
Registriert: 23.12.2005 14:32

Beitrag von scheibenbrot »

Hallo,
also das funktioniert immer noch nicht und wer sagt denn das die Nickpage aus dem standart ist!?
Die Nickpage ist ein MOD
Love is the slowest form of suicide.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Ich weiss. Wenn ich mich nicht irre, ist der sogar in der phpBB plus drin. Sag's, wenn ich daneben liege.... :grin:

original diesen Code habe ich bei mir getestet. Kann natürlich sein, dass Dein NP Code anders aussieht.
Nun ja, dann musst Du wohl noch etwas forschen..... 8)

Oder Du verlinkst Deinen nickpage.php als Textdatei...
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
scheibenbrot
Mitglied
Beiträge: 1552
Registriert: 23.12.2005 14:32

Beitrag von scheibenbrot »

Hallo,
es funktioniert, da ich die variable an ner falschen stelle hatte, aber wie bekomme ich es nun hin, dass wenn jemand kein Bild hat, das nopic.jpg angezeigt wird?
Love is the slowest form of suicide.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Zwei Möglichkeiten dazu:
1.) Im phpMyAdmin eingeben:

Code: Alles auswählen

UPDATE phpbb_nickpagemod SET pic = 'images/nickpage/nopic.jpg' WHERE pic = '';
ALTER TABLE `phpbb_nickpagemod` CHANGE `pic` `pic` VARCHAR( 255 )  NOT NULL DEFAULT 'images/nickpage/nopic.jpg';
2.) Finde in viewtopic.php

Code: Alles auswählen

if ($row = $db->sql_fetchrow($result))
             $poster_np_pic = "<img src=" . $row['pic'] ." alt=\"\" title=\"\">";
tausche aus gegen:

Code: Alles auswählen

if ($row = $db->sql_fetchrow($result))
            $poster_np_pic = ($row['pic'] == '') ? ("<img src=\"images/nickpage/nopic.jpg\" alt=\"\" title=\"\">") : ("<img src=" . $row['pic'] . " alt=\"\" title=\"\">");
Das Ergebnis ist das selbe.... Mach eines von beidem oder mach' beides. :)

Aber beachte, dass die Größe des NP Bildes nicht verändert wird und das Bild dann in originaler Grösse angezeigt wird.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „Coding & Technik“