Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
Attachment Thumbnails in Foren-Anzeige
#1
Hallo MyBB'Coder Smile

MOD / Code Änderung: Attachment Thumbnails in Foren-Anzeige



Bereich: Foren-Anzeige



Kurze Beschreibung: Beinhaltet ein Thema ein Bild als Attachment, so soll ein Thumbnail Vorschaubild in der Foren-Anzeige (neben dem Thread-Titel) dargestellt werden. Wenn ein Thema mehrere Bild Attachments beinhaltet, so soll nur das erste Attachment als Thumbnail erzeugt werden. Beinhaltet ein Thread kein Attachment, so soll gar kein Thumbnail dargestellt werden.



Bezahlung: Diese Code-Modifikation ist mir auf jedenfall 20 EURO Wert, jedoch kann ich diese nur per Paypal bezahlen.





Anmerkung 1: Diese MOD / Code-Modifikation braucht nicht extra als Plugin erstellt werden, da ich persönlich sehr sparsam Plugins einsetze und vorwiegend gerne manuelle Code-Änderungen vornehme.
Kenntnisse im Suchen und Ersetzen von Code-Schnipseln in PHP-Dateien wie. z.B forumdisplay.php sind vorhanden.





Anmerkung 2:
Das Plugin "PHP in Templates and Template Conditionals" ist vorhanden und installiert.





Anmerkung 3:
Für das Invision Power Board gibt es ein ähnliches MOD Names "(Nyambana) Thumbnail of Attachments on forum display"
http://www.ipbcustomize.com/sujet1866-ny...splay.html
Habe dieses testweise in einem Testforum von mir installiert und vorher/nacher Screenshots erstellt:
       





Anmerkung 4:
Eine ähnliche Anfrage hatte ich schon auf MyBBoard.de gestellt:
https://www.mybb.de/forum/thread-12352.html
Michael hat in Beitrag #3 ein Lösungsansatz gepostet.



Screenshot / MyBB Fotomontage:
   



Invision Power Board Code-Änderung:
Open: sources/action_public/forums.php
find:
PHP-Code:
$topic['topic_icon']     = $topic['icon_id']  ? '<img src="'.$this->ipsclass->vars['img_url'] . '/folder_post_icons/icon' $topic['icon_id'] . '.gif" border="0" alt="" />'
                                                      
' '



replace with
PHP-Code:
if ($topic['topic_hasattach'] AND $this->ipsclass->vars['nj_ti_enable'])
        {
            
$first_postid     $topic['topic_firstpost'] ;
            
            
$this->ipsclass->DB->simple_construct( array( 'select' => 'attach_thumb_location',
                                                            
'from'   => 'attachments',
                                                            
'where'  => "attach_rel_id=$first_postid) );
            
$this->ipsclass->DB->simple_exec();
            
        while (
$ma_temp $this->ipsclass->DB->fetch_row() )
        {
            
$topic['topic_icon']     =  '<img src="uploads/'.$ma_temp['attach_thumb_location'].'" width="100px" />' ;

        }        
        }
        else 
        {
        
$topic['topic_icon']     = $topic['icon_id']  ? '<img src="'.$this->ipsclass->vars['img_url'] . '/folder_post_icons/icon' $topic['icon_id'] . '.gif" border="0" alt="" />'
                                                      
' ';
        } 

Bei der Modifikation für das Invision Powerboard ist es so, dass man die Code-Änderung noch extra im Admin Control Panel unter den Einstellungen aktivieren muss. Dies muss bei MyBB nicht so sein. Bitte so coden, dass die Thumbnails nur anhand von den Code-Änderungen in z.B forumdisplay.php erzeugt werden. (Also ohne dass man extra im Admin-CP die Code-Änderungen aktivieren muss)


Vielen Dank im vorraus.

PS: Bitte hier im Thread oder per PN melden, damit diese Idee nicht unnötig von mehreren Codern programmiert wird.
MyBB ist die weltbeste Forensoftware u. 1000 mal besser als VB, WBB und phpBB !

Seit Sommer 2006 setze ich auf MyBB.
Zitieren
#2
Das ist machbar. Was ist denn im Thema mehrere Bilder vorhanden sind? Die Größe des Bildes entspricht dem der Thumbnails im Forum?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Danke Dragon, dass du dich dieser Sache annimmst Smile


(19.02.2009, 08:58)Dragon schrieb: Was ist denn im Thema mehrere Bilder vorhanden sind?
Dann soll (wenn möglich) aus dem ersten Attachment im Thread ein Thumbnail generiert werden.



(19.02.2009, 08:58)Dragon schrieb: Die Größe des Bildes entspricht dem der Thumbnails im Forum?
Ja, kann ruhig identisch mit der normalen Thumbnailgröße sein.
MyBB ist die weltbeste Forensoftware u. 1000 mal besser als VB, WBB und phpBB !

Seit Sommer 2006 setze ich auf MyBB.
Zitieren
#4
Ersetze in der forumdisplay.php:
PHP-Code:
$query $db->query("
    SELECT t.*, 
{$ratingadd}{$select_rating_user}t.username AS threadusername, u.username
    FROM "
.TABLE_PREFIX."threads t
    LEFT JOIN "
.TABLE_PREFIX."users u ON (u.uid = t.uid){$select_voting}
    WHERE t.fid='
$fid$tvisibleonly $datecutsql2
    ORDER BY t.sticky DESC, 
{$t}{$sortfield} $sortordernow $sortfield2
    LIMIT 
$start$perpage
"
); 
durch:
PHP-Code:
$query $db->query("
    SELECT t.*, 
{$ratingadd}{$select_rating_user}t.username AS threadusername, u.username,
    (SELECT a.aid FROM "
.TABLE_PREFIX."attachments a WHERE a.pid=t.firstpost AND thumbnail!='' LIMIT 1) AS aid
    FROM "
.TABLE_PREFIX."threads t
    LEFT JOIN "
.TABLE_PREFIX."users u ON (u.uid = t.uid){$select_voting}
    WHERE t.fid='
$fid$tvisibleonly $datecutsql2
    ORDER BY t.sticky DESC, 
{$t}{$sortfield} $sortordernow $sortfield2
    LIMIT 
$start$perpage
"
); 
Und füge vor:
PHP-Code:
eval("\$threads .= \"".$templates->get("forumdisplay_thread")."\";"); 
das ein:
PHP-Code:
        if($thread['aid'])
        {
            
$thumbnail "<img src=\"{$mybb->settings['bburl']}/attachment.php?thumbnail={$thread['aid']}\" alt=\"\" />";
        }
        else
        {
            
$thumbnail '';
        } 
Jetzt kannst du $thumbnail im Template forumdisplay_thread einbauen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
Danke für die Code Modifikation

habe {$thumbnail} in forumdisplay_thread eingefügt, doch leider kommt beim Aufruf des Forums folgende Fehlermeldung:


Screenshot
   


Textversion
Zitat:MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM wallpaper_attachments a WHERE a.pid=t.firstpost AND thumbnail!='') AS aid ' at line 1

Query:
SELECT t.*, (t.totalratings/t.numratings) AS averagerating, r.uid AS rated, t.username AS threadusername, u.username, (a.aid FROM wallpaper_attachments a WHERE a.pid=t.firstpost AND thumbnail!='') AS aid FROM wallpaper_threads t LEFT JOIN wallpaper_users u ON (u.uid = t.uid) LEFT JOIN wallpaper_threadratings r ON(r.tid=t.tid AND r.uid='1') WHERE t.fid='2' AND (t.visible='1' OR t.visible='0') ORDER BY t.sticky DESC, t.lastpost desc LIMIT 0, 20


Vielleicht liegt es daran, dass die SQL Tabellen bei mir wallpaper_ heissen anstatt mybb: ???
MyBB ist die weltbeste Forensoftware u. 1000 mal besser als VB, WBB und phpBB !

Seit Sommer 2006 setze ich auf MyBB.
Zitieren
#6
Ich hatte einen Tipp-Fehler drin. Der erste Code wurde ausgebessert?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#7
Klappt nun wunderbar mit 1 Attachment und ohne Attachment.
Lediglich wenn mehr als 1 Attachment vorhanden sind, kommt folgende Fehlermeldung.

   
MyBB ist die weltbeste Forensoftware u. 1000 mal besser als VB, WBB und phpBB !

Seit Sommer 2006 setze ich auf MyBB.
Zitieren
#8
Damit hatte ich nicht gerechnet. Ich habe noch einen kleinen Zusatz eingebaut.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#9
D.A.N.K.E Dragon *Daumen hoch*

Es funktioniert nun alles wie gewünscht.

Habe diesen Thread als erledigt markiert Smile
MyBB ist die weltbeste Forensoftware u. 1000 mal besser als VB, WBB und phpBB !

Seit Sommer 2006 setze ich auf MyBB.
Zitieren
#10
fette modifikation. leider wird nur ein tumb generiert, wenn im ersten beitrag ein bild gepostet ist. ist im 3ten oder 10ten beitrag das erste bild gepostet bleibt die threadübersicht tumbnail frei
Zitieren