MyBB.de Forum
War hier schon Mal --Letzte Beiträge - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: War hier schon Mal --Letzte Beiträge (/thread-9106.html)

Seiten: Seiten: 1 2 3 4


War hier schon Mal --Letzte Beiträge - Plexxart - 27.03.2008

Servus Allemiteinand !

Für alle die sich auch eine neue Seite mit den letzten Themen erstellen wollen, hier die Anleitung wies ich gemacht habe:

Ganz unten findet ihr die Dateien zum Download im "Zip" Format.

Ihr braucht zwei Dateien : 3 Templates und eine Php Datei + 2 Graphiken

Zuerst erstellen wir mal ein Template namens "lastpost".

Ihr geht ins ADCP und klickt den Menüpunkt Templates/ändern entfernen an, worauf der Templates Manager öffnet. Dann tauchen zumindest 2 Spalten auf eine für "globale Templates" und eine für die "Default Templates"

Die "Default Templates" lasst ihr links liegen und widmet euch den "Globale Templates"

Hier stehen dann 2 Button zur Verfügung "Template hinzufügen" und "Template ausklappen"

"Template hinzufügen" anklicken worauf ein Beitragsfenster aufgeht.

In der Überschrift gebt ihr den Template einen Namen in meinem Fall -- " lastposts " -- ohne die " " !!

Kopiert nur den Namen lastpost ruhig in das Überschriftfenster.

Dann den folgenden Html Code in das Große Beitragsfenster kopieren.


Code:
<html>
<head>
<title>{$mybb->settings['bbname']}</title>
{$headerinclude}
</head>
<body>
{$header}
{$lastposts_lists}<br />
{$lastposts_stats}
{$footer}
</body>
</html>

Nachdem ihr den Button " Template hinzufügen" gedrückt habt, ist dieses mal gespeichert.

Nachdem ihr dies gespeichert habt kommt ihr wieder ins Templates Managment zurück.

Jetzt wieder ganz oben den Butten "Templates hinzufügen " betätigen, worauf wieder ein Fenster aufgeht.

Diesmal schreibt ihr in die Überschrift "Lastposts_lists" natürlich ohne die " " Wink

In das Beitragsfenster kopiert ihr folgenden Text

Code:
<table width="100%" border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
    <thead>
    <tr>
        <td class="thead"><strong>Letzte 30 Themen</strong></td>
    </tr>
    </thead>
    <tr>
        <td colspan="7">
        <table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
        <tbody style="text-align: center;">
        <tr>
            <td class="trow1"><strong>Letzte Themen</strong></td>
            <td class="trow1"><strong>Forum</strong></td>
            <td class="trow1"><strong>Hits</strong></td>
            <td class="trow1"><strong>Thema von</strong></td>
            <td class="trow1"><strong>Antw.</strong></td>
            <td class="trow1"><strong>Letz. Antw. am</strong></td>
            <td class="trow1"><strong>von</strong></td>
        </tr>
        {$output}
        </tbody>
        </table>
        </td>
    </tr>
</table>

Templates abspeichern und ihr kommt wieder zurück ins Templates Managment .

Jetzt wieder ganz oben den Butten "Templates hinzufügen" betätigen, worauf wieder ein Fenster aufgeht.

Ins Überschriftfenster jetzt den Namen " lastposts_stats " einfügen, wieder ohne " "

Ins Beitragsfenster kommt der Text wie folgt:

Code:
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
    <tr>
        <td class="thead" colspan="7"><strong>{$lang->boardstats}</strong></td>
    </tr>
    <tr>
        <td class="trow1" width="35"> <img src="{$theme['imgdir']}/stats.png" alt="" border="0" /></td>
        <td class="trow1"><span class="smalltext">
        {$lang->stats_posts_threads}<br />
        {$lang->stats_numusers}<br />
        {$lang->stats_newestuser}<br />
        {$lang->stats_mostonline}
        </span>
        </td>
    </tr>
</table>

Wieder Button speichern betätigen.

Weldone !! Jetzt sind mal alle Templates gespeichert.

Jetzt geht ihr in einen Scripteditor in meinen Fall Macromedia Dreamweaver und erstellt eine neue Php Datei.
Im oberen Codefenster löscht ihr alles was drinnen steht und kopiert den kommenden unteren Text ins Beitragsfenster und speichert diese Datei in euren Ordner "Uploads" unter "lastposts.php"

Hier das php Script lastposts.php


PHP-Code:
<?php
/** Anzahl der Themen */
$limit "30";

/** Überlange Themen kürzen (0 = Nein, x = Anzahl der auszugebenden Zeichen) */
$length "0";

define("NO_ONLINE"1);
define("IN_MYBB"1);

require(
"./global.php");

$lang->load("index");

$templatelist "lastposts, lastposts_stats";

$whosonline '';
/**
                                ### Konfiguration ###
*/

/** nicht sichtbare Foren ausschließen */
$unviewable get_unviewable_forums();
if(
$unviewable) {
    
$unviewwhere "AND t.fid NOT IN (".$unviewable.")";
}

/** Themen aus Datenbank holen */
$query $db->query ("
SELECT t.subject,t.username,t.uid,t.tid,f.fid,t.lastposter,t.lastpost,f.name,t.views,t.replies,MAX(p.pid) AS lpid 
FROM "
.TABLE_PREFIX."threads t 
LEFT JOIN ("
.TABLE_PREFIX."forums f, ".TABLE_PREFIX."posts p) 
ON (f.fid=t.fid AND t.tid=p.tid) 
WHERE t.visible='1' 
$unviewwhere 
GROUP BY p.tid 
ORDER BY t.lastpost DESC 
LIMIT 0,"
.$limit."
"
);

while(
$threads $db->fetch_array($query)) {
    
// Betreff kürzen?
    
if ($length != 0) {
        if (
strlen($threads['subject']) > $length) {
        
$threads['subject'] = substr($threads['subject'],0,$length) . "...";
        }
    }
    
/** Daten ausgeben */
$output .= "<tr>
<td class=\"trow1\" style=\"text-align: left;\"><a href=\""
.$mybb->settings['bburl']."/showthread.php?tid=".$threads['tid']."\" target=\"_blank\">".htmlspecialchars($threads['subject'])."</a></td>
<td class=\"trow1\" style=\"text-align: left;\"><a href=\""
.$mybb->settings['bburl']."/forumdisplay.php?fid=".$threads['fid']."\" target=\"_blank\">".htmlspecialchars($threads['name'])."</a></td>
<td class=\"trow1\" style=\"text-align: center;\">
{$threads['views']}</td>
<td class=\"trow1\" style=\"text-align: center;\"><a href=\""
.$mybb->settings['bburl']."/member.php?action=profile&amp;uid=".$threads['uid']."\" target=\"_blank\">".htmlspecialchars($threads['username'])."</a></td>
<td class=\"trow1\" style=\"text-align: center;\">
{$threads['replies']}</td>
<td class=\"trow1\" style=\"text-align: center;\"><a href=\""
.$mybb->settings['bburl']."/showthread.php?tid=".$threads['tid']."&pid=".$threads['lpid']."#pid".$threads['lpid']."\" target=\"_blank\"><img src=\"images/jump.gif\" alt=\"\" style=\"vertical-align: middle;\" /></a>&nbsp;".htmlspecialchars(my_date($mybb->settings['dateformat'], $threads['lastpost'])).", ".htmlspecialchars(my_date($mybb->settings['timeformat'], $threads['lastpost']))."</td>
<td class=\"trow1\" style=\"text-align: right;\"><a href=\""
.$mybb->settings['bburl']."/member.php?action=profile&amp;uid=".$threads['uid']."\" target=\"_blank\">".htmlspecialchars($threads['lastposter'])."</a></td>
</tr>"
;
}

/** Ausgabe des Templates */
eval("\$lastposts_lists = \"".$templates->get("lastposts_lists")."\";");

/** Ausgabe der Statistik */

// Build the forum statistics to show on the index page.
if($mybb->settings['showindexstats'] != "no") {
    
// First, load the stats cache.
    
$stats $cache->read("stats");

    
// Check who's the newest member.
    
if(!$stats['lastusername']) {
        
$newestmember "no-one";
    }
    else {
        
$newestmember build_profile_link($stats['lastusername'], $stats['lastuid']);
    }

    
// Format the stats language.
    
$lang->stats_posts_threads sprintf($lang->stats_posts_threadsmy_number_format($stats['numposts']), my_number_format($stats['numthreads']));
    
$lang->stats_numusers sprintf($lang->stats_numusersmy_number_format($stats['numusers']));
    
$lang->stats_newestuser sprintf($lang->stats_newestuser$newestmember);
    
    
// Find out what the highest users online count is.
    
$mostonline $cache->read("mostonline");
    if(
$onlinecount $mostonline['numusers']) {
        
$time time();
        
$mostonline['numusers'] = $onlinecount;
        
$mostonline['time'] = $time;
        
$cache->update("mostonline"$mostonline);
    }
    
$recordcount $mostonline['numusers'];
    
$recorddate my_date($mybb->settings['dateformat'], $mostonline['time']);
    
$recordtime my_date($mybb->settings['timeformat'], $mostonline['time']);

    
// Then format that language string.
    
$lang->stats_mostonline sprintf($lang->stats_mostonlinemy_number_format($recordcount), $recorddate$recordtime);
}
    eval(
"\$lastposts_stats = \"".$templates->get("lastposts_stats")."\";");
    
eval(
"\$lastposts = \"".$templates->get("lastposts")."\";");
output_page($lastposts);
?>


Dann ins ADCP gehen und in der "Theme" ganz unten unter zusätzliches CSS folgenden Code reinkopieren:

Code:
.lpost {
    text-align: center;
    font-family: Arial;
    font-size: 14px;
    border-top-style: 1px;
    border-right-style: 1px;
    border-left-style: 1px;
    white-space: normal;
    border-top-width: medium;
    border-right-width: medium;
    border-left-width: medium;
    white-space: normal;
    border-bottom: 4px solid silver;
}

Nachdem ihr also die Php Datei abgespeichert und auf den Server geschickt habt ruft ihr diese Seite unter "http://Eure Forumdomain/Forum/mybb_129_de/Upload/lastposts.php" im Explorer auf.

Wenn es einer von euch erfolgreich nachgemachthat, freue ich mich über konstruktive Kommentare.



L.G.

Walter
.zip   lastposts korrigierte Version.zip (Größe: 11,29 KB / Downloads: 13)

[EDIT] Wurde von mir mit dem Aktuellen Code vom 4.4. versehen[/EDIT]

Bevor ichs vergess:
Vielen Dank an linwinman der einen Großteil dierser Scripten ergänzt hat und natürlich Dragon der mir bei der Erstellung dieser geholfen hat


RE: War hier schon Mal --Letzte Beiträge - StefanT - 27.03.2008

Kannst du den Code zeigen?
So müsste das Grundtemplate aussehen: https://www.mybb.de/doku/haeufig-gestellte-fragen/wie-kann-ich-eine-eigene-seite-erstellen.html


RE: War hier schon Mal --Letzte Beiträge - StefanT - 27.03.2008

Warum nimmst du den Code für externe Seiten und bindest es dann doch ins MyBB ein?


RE: War hier schon Mal --Letzte Beiträge - Plexxart - 27.03.2008

Dragon schrieb:Warum nimmst du den Code für externe Seiten und bindest es dann doch ins MyBB ein?

Weil ich mich nicht auskenne.Rolleyes

Ich hatte diesen Code schon mal installiert ( wenn wir vom selben Plugin sprechen) und dann wieder verworfen, weil ich nicht wußte wozu dieser gut sein könnte.

L.G.

Walter


RE: War hier schon Mal --Letzte Beiträge - Plexxart - 27.03.2008

Ja ich schon wieder Wink

Habs jetzt mal geschafft den Header und den Fooder ausgeben zu lassen allerdings ist die Anzeige nicht korrekt und des weiteren mit einer Fehlermeldung versehen.

Guckst du hier: Bastelstube Lastposts

Auch weiß ich nicht den Code zum Auslesen des Forums, in dem der Beitrag geschrieben wurde.

Danke schon mal für eure Hilfe

L.G.

Walter


RE: War hier schon Mal --Letzte Beiträge - StefanT - 27.03.2008

Du darfst nicht mit echo arbeiten. Dafür sind die Templates da. Code-Beispiele findest du im verlinkten Artikel.


RE: War hier schon Mal --Letzte Beiträge - Plexxart - 27.03.2008

Tja mühsam ernährt sich das Eichkätzchen Wink

Bin jetzt etwas weiter als zuvor, guckts ihr! Bastelstube
Hier der Code vom Template:
Code:
<html>
<head>
<title>{$mybb->settings[bbname]}</title>
{$headerinclude}
</head>
<body>
{$header}
<table width="100%" border="0">
<thead>
<tr>
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr><td class="thead"><strong>Letzte Themen</strong></td></tr>
<tr><td class="trow1">

<div align="center">
<table width=\"90%\" border=\"1\"padding=\"0px\"
cellpadding=\"3\" cellspacing=\"0\"
style=\"font-family: Arial; font-size: 14;
border-collapse: inherit; border-top-style: none; border-right-style: none;
border-left-style: none; white-space: normal; border-top-width: medium;
border-right-width: medium; border-left-width: medium; white-space: normal;
border-bottom: 2px solid silver; \"
</tr><tr><td>Letzte Themen</td><td>Forum</td><td>Hits</td><td>Antworten</td><td>Letzte Antworten von</td></tr>

{$footerinclude}
{$footer}
</body>
<br />
</html>

Zwei Sachen die mich stören und da wäre es nett wenn man mir Info zur Besserung geben könnte:

1.
Der Footer ist von oben nicht wegzukriegen, da spiel ich mich schon eine Zeit herum.

2.Die Tabelle hätte ich gerne auf die Größe von der Seite angepasst.

Ich schaffe es auch nicht die Dateien korrekt zu plazieren bzw.auszulesen.
Die Beitragsersteller hätte ich gerne in der Spalte ganz links.

Code:
// Daten ausgeben
echo"<tr><font size=\"2\">

<td><a href=\"".$mybb->settings['bburl']."/showthread.php?tid=".$threads['tid']."\"target=\"_blank\">".htmlentities($threads['subject'])."</a></td>
<td><a href=\"".$mybb->settings['bburl']."/forumdisplay.php?fid=".$forum['fid']."\"target=\"_blank\">".htmlentities($threads['subject'])."</a></td><td><td></td>
<td>".htmlentities(my_date($mybb->settings['dateformat'], $threads['dateline'])).", ".htmlentities(my_date($mybb->settings['timeformat'], $threads['dateline']))."<a href=\"".$mybb->settings['bburl']."/member.php?action=profile&amp;uid=".$threads['uid']."\"target=\"_blank\">".htmlentities($threads['username'])."</a>";

Habs ohne Echo versucht, aber da ging gar nix !

Welche Information benötigt ihr noch um mir eine helfende Antwort zu geben.

L.G.

Walter


RE: War hier schon Mal --Letzte Beiträge - Michael - 27.03.2008

Gibt es irgendwelche Probleme mit der Seite? Ich erhalte immer nur einen Server-Timeout.


RE: War hier schon Mal --Letzte Beiträge - Plexxart - 27.03.2008

Hi Michael

Hab da wahrscheinlich den Link falsch gesetzt.

Könntest du mal so nett sein und nochmals dein Profiauge darauf werfen und mir sagen was falsch ist.

Die Letzten Themen stimmen mal , wobei ich die Schrift nicht mittig haben will.

Die Foren simmen überhaupt nicht.

Die Anzahl der Hits würde ich gerne Anzeigen und auch die Anzahl der Antworten.
Auch habe ich mich schon herumgespielt wie ich einen Abstand zwischen Zeit und User bekomme.

Ich habe den oberen Beitrag überarbeitet, sodaß immer nur ein Cod in meinem Beitrag aufscheint.

Danke schon mal für deine Mühe.

L.G.

Walter

PS Und der Footer macht mir auch noch Probleme


RE: War hier schon Mal --Letzte Beiträge - StefanT - 27.03.2008

Probiere dieses Template:
Code:
<html>
<head>
<title>{$mybb->settings['bbname']}</title>
{$headerinclude}
</head>
<body>
{$header}
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr><td class="thead"><strong>Letzte Themen</strong></td></tr>
<tr><td class="trow1">
<div align="center">
<table width="90%" border="1"padding="0px"
cellpadding="3" cellspacing="0"
style="font-family: Arial; font-size: 14;
border-collapse: inherit; border-top-style: none; border-right-style: none;
border-left-style: none; white-space: normal; border-top-width: medium;
border-right-width: medium; border-left-width: medium; white-space: normal;
border-bottom: 2px solid silver; "
</tr><tr><td>Letzte Themen</td><td>Forum</td><td>Hits</td><td>Antworten</td><td>Letzte Antworten von</td></tr>
{$output}
</table>
</td></tr></table>
{$footer}
</body>
</html>
Und diesen Code:
PHP-Code:
// Daten ausgeben
$output .= "<tr>
<td><a href=\""
.$mybb->settings['bburl']."/showthread.php?tid=".$threads['tid']."\"target=\"_blank\">".htmlentities($threads['subject'])."</a></td>
<td><a href=\""
.$mybb->settings['bburl']."/forumdisplay.php?fid=".$forum['fid']."\"target=\"_blank\">".htmlentities($threads['subject'])."</a></td><td><td></td>
<td>"
.htmlentities(my_date($mybb->settings['dateformat'], $threads['dateline'])).", ".htmlentities(my_date($mybb->settings['timeformat'], $threads['dateline']))."<a href=\"".$mybb->settings['bburl']."/member.php?action=profile&amp;uid=".$threads['uid']."\"target=\"_blank\">".htmlentities($threads['username'])."</a></td></tr>"