RE: Die letzen Beiträge?! - StefanT - 30.05.2009
Das ist sehr aufwendig.
RE: Die letzen Beiträge?! - Cindepall - 30.05.2009
Schade, na ja, dann lass ichs halt erstmal so.
RE: Die letzen Beiträge?! - modercol - 04.07.2009
(30.06.2007, 08:53)Jan schrieb: Sebastian,
dazu muss in der "/portal.php" nach
PHP-Code: if($threadlist) { // show the table only if there are threads eval("\$latestthreads = \"".$templates->get("portal_latestthreads")."\";"); } }
folgender PHP Code eingefügt werden:
PHP-Code: // Latest forum discussions from an subforum $specialfid = ''; // Which fid you want to show; only give one number if($mybb->settings['portal_showdiscussions'] != "no" && $mybb->settings['portal_showdiscussionsnum']) { $altbg = "trow1"; $threadlist = ''; $query = $db->query(" SELECT t.*, u.username FROM ".TABLE_PREFIX."threads t LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=t.uid) WHERE 1=1 $unviewwhere AND t.visible='1' AND t.closed NOT LIKE 'moved|%' AND fid='".$specialfid."' ORDER BY t.lastpost DESC LIMIT 0, ".$mybb->settings['portal_showdiscussionsnum'] ); while($thread = $db->fetch_array($query)) { $lastpostdate = my_date($mybb->settings['dateformat'], $thread['lastpost']); $lastposttime = my_date($mybb->settings['timeformat'], $thread['lastpost']); // Don't link to guest's profiles (they have no profile). if($thread['lastposteruid'] == 0) { $lastposterlink = $thread['lastposter']; } else { $lastposterlink = build_profile_link($thread['lastposter'], $thread['lastposteruid']); } if(my_strlen($thread['subject']) > 25) { $thread['subject'] = my_substr($thread['subject'], 0, 25) . "..."; } $thread['subject'] = htmlspecialchars_uni($thread['subject']); eval("\$threadlist .= \"".$templates->get("portal_latestthreadssub_thread")."\";"); $altbg = alt_trow(); } if($threadlist) { // show the table only if there are threads eval("\$latestthreadssub = \"".$templates->get("portal_latestthreadssub")."\";"); } }
[...] Ist es möglich diesen Code in die showthread.php einzubauen?
Ich habe bereits diesen Code übernommen, nur wird nichts angezeigt, welche Codeabschnitte müssen noch übernommen werden, damit dies funkioniert?
RE: Die letzen Beiträge?! - sportwettentalk - 29.09.2009
(30.06.2007, 08:53)Jan schrieb: Sebastian,
dazu muss in der "/portal.php" nach
PHP-Code: if($threadlist) { // show the table only if there are threads eval("\$latestthreads = \"".$templates->get("portal_latestthreads")."\";"); } }
folgender PHP Code eingefügt werden:
PHP-Code: // Latest forum discussions from an subforum $specialfid = ''; // Which fid you want to show; only give one number if($mybb->settings['portal_showdiscussions'] != "no" && $mybb->settings['portal_showdiscussionsnum']) { $altbg = "trow1"; $threadlist = ''; $query = $db->query(" SELECT t.*, u.username FROM ".TABLE_PREFIX."threads t LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=t.uid) WHERE 1=1 $unviewwhere AND t.visible='1' AND t.closed NOT LIKE 'moved|%' AND fid='".$specialfid."' ORDER BY t.lastpost DESC LIMIT 0, ".$mybb->settings['portal_showdiscussionsnum'] ); while($thread = $db->fetch_array($query)) { $lastpostdate = my_date($mybb->settings['dateformat'], $thread['lastpost']); $lastposttime = my_date($mybb->settings['timeformat'], $thread['lastpost']); // Don't link to guest's profiles (they have no profile). if($thread['lastposteruid'] == 0) { $lastposterlink = $thread['lastposter']; } else { $lastposterlink = build_profile_link($thread['lastposter'], $thread['lastposteruid']); } if(my_strlen($thread['subject']) > 25) { $thread['subject'] = my_substr($thread['subject'], 0, 25) . "..."; } $thread['subject'] = htmlspecialchars_uni($thread['subject']); eval("\$threadlist .= \"".$templates->get("portal_latestthreadssub_thread")."\";"); $altbg = alt_trow(); } if($threadlist) { // show the table only if there are threads eval("\$latestthreadssub = \"".$templates->get("portal_latestthreadssub")."\";"); } }
Erstelle ein Template mit dem Namen "portal_latestthreadssub" und folgendem Inhalt
Code: <table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td class="thead" colspan="4"><strong>{$lang->latest_threads}</strong></td>
</tr><tr><td class="tcat" width="40%" align="center">Thema</td><td class="tcat" width="20%" align="center">Ansichten</td><td class="tcat" width="20%" align="center">Antworten</td><td class="tcat" width="20%" align="center">Letzter Beitrag</td></tr>
{$threadlist}
</table>
<br />
Erstelle ein weiteres Template mit dem Namen "portal_latestthreadssub_thread" und folgendem Inhalt
Code: <tr>
<td class="trow1" align="center">
<strong><a href="{$mybb->settings['bburl']}/showthread.php?tid={$thread['tid']}">{$thread['subject']}</a></strong>
</td><td class="trow2" align="center">{$thread['views']}</td><td class="trow1" align="center">{$thread['replies']}</td><td class="trow2" align="center">
von {$lastposterlink}<br />
{$lastpostdate} {$lastposttime}
</td>
</tr>
Im Template "portal" kannst du jetzt die Variable "{$latestthreadssub}" an die Stelle setzten, an der du die Threads haben möchtest.
Tut mir leid das es etwas länger gedauert hat, aber ich hab auch nen Privatleben und noch andere Projekte.
Mal eine Frage zu diesem Vorgang. Wenn ich dieses neue template in der adminoberfläche erstelle. Wo genau füge ich dann diesen Code ein?
RE: Die letzen Beiträge?! - Michael - 29.09.2009
Wenn du im ACP ein neues Template erstellst, gibt es ein Formularfeld für den Code: ACP: Templates & Style -> Templates -> Template hinzufügen.
RE: Die letzen Beiträge?! - Ne-Jeck - 15.12.2009
Hallo zusammen,
also ich habe mich hier an die Vorgaben gehalten und es hat wunderbar funktioniert mit der Aufteilung: mein Portal
Jetzt habe ich noch 2 Fragen:
1)Wie kriege ich es hin, dass sich ungelesene Beiträge in der Ansicht beim Portal deutlich von bereits gelesenen unterscheiden? Bisher sieht man da leider keinen Unterschied... (vielleicht als erste Spalte der Tabelle die Buttons ungelesen/gelesen?)
2) Ist es immer so schwierig/aufwändig, bei noch ungelesenen Beiträgen einen Pfeil als Link einzufügen, womit man direkt zum letzten Beitrag springt? Bisher landet man ja nur beim ersten Post des Themas
Bei Bedarf kann ich gerne auch die Codes meiner Portal templates posten.
Vielen Dank
RE: Die letzen Beiträge?! - StefanT - 15.12.2009
Das, was gelesen ist, kann man nur mit aufwendigem Code erkennen.
RE: Die letzen Beiträge?! - RhymeFront - 17.12.2009
Hi,
Ist es möglich aus der "Letzten Beiträge Box" die Subforen auszuschließen für die man eine extra Box macht `?
RE: Die letzen Beiträge?! - Michael - 17.12.2009
Ja, du kannst die Datenbankabfrage entsprechend ändern. Wie sieht diese aktuell bei dir aus?
RE: Die letzen Beiträge?! - RhymeFront - 17.12.2009
PHP-Code: // Latest forum discussions if($mybb->settings['portal_showdiscussions'] != 0 && $mybb->settings['portal_showdiscussionsnum']) { $altbg = alt_trow(); $threadlist = ''; $query = $db->query(" SELECT t.*, u.username FROM ".TABLE_PREFIX."threads t LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=t.uid) WHERE 1=1 $unviewwhere AND t.visible='1' AND t.closed NOT LIKE 'moved|%' ORDER BY t.lastpost DESC LIMIT 0, ".$mybb->settings['portal_showdiscussionsnum'] ); while($thread = $db->fetch_array($query)) { $lastpostdate = my_date($mybb->settings['dateformat'], $thread['lastpost']); $lastposttime = my_date($mybb->settings['timeformat'], $thread['lastpost']); // Don't link to guest's profiles (they have no profile). if($thread['lastposteruid'] == 0) { $lastposterlink = $thread['lastposter']; } else { $lastposterlink = build_profile_link($thread['lastposter'], $thread['lastposteruid']); } if(my_strlen($thread['subject']) > 40) { $thread['subject'] = my_substr($thread['subject'], 0, 75) . "..."; } $thread['subject'] = htmlspecialchars_uni($thread['subject']); $thread['threadlink'] = get_thread_link($thread['tid']); if(!is_array($forum_cache)) { cache_forums(); } $latestthreads['forum'] = htmlspecialchars_uni($forum_cache[$thread['fid']]['name']); $threadstarter = build_profile_link($thread['username'], $thread['uid']); eval("\$threadlist .= \"".$templates->get("portal_latestthreads_thread")."\";"); $altbg = alt_trow(); } if($threadlist) { // Show the table only if there are threads eval("\$latestthreads = \"".$templates->get("portal_latestthreads")."\";"); } }
// Latest forum discussions from an subforum // Which fid you want to show; only give one number $specialfid = '15'; if($mybb->settings['portal_showdiscussions'] != "no" && $mybb->settings['portal_showdiscussionsnum']) { $altbg = "trow1"; $threadlist = ''; $query = $db->query(" SELECT t.*, u.username FROM ".TABLE_PREFIX."threads t LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=t.uid) WHERE 1=1 $unviewwhere AND t.visible='1' AND t.closed NOT LIKE 'moved|%' AND fid='".$specialfid."' ORDER BY t.lastpost DESC LIMIT 0, ".$mybb->settings['portal_showdiscussionsnum'] ); while($thread = $db->fetch_array($query)) { $lastpostdate = my_date($mybb->settings['dateformat'], $thread['lastpost']); $lastposttime = my_date($mybb->settings['timeformat'], $thread['lastpost']); // Don't link to guest's profiles (they have no profile). if($thread['lastposteruid'] == 0) { $lastposterlink = $thread['lastposter']; } else { $lastposterlink = build_profile_link($thread['lastposter'], $thread['lastposteruid']); } if(my_strlen($thread['subject']) > 25) { $thread['subject'] = my_substr($thread['subject'], 0, 25) . "..."; } $thread['subject'] = htmlspecialchars_uni($thread['subject']); $threadstarter = build_profile_link($thread['username'], $thread['uid']);
eval("\$threadlist .= \"".$templates->get("portal_latestthreadssub_thread")."\";"); $altbg = alt_trow(); } if($threadlist) { // show the table only if there are threads eval("\$latestthreadssub = \"".$templates->get("portal_latestthreadssub")."\";"); } }
// Latest forum discussions from an subforum // Which fid you want to show; only give one number $specialfid = '19'; if($mybb->settings['portal_showdiscussions'] != "no" && $mybb->settings['portal_showdiscussionsnum']) { $altbg = "trow1"; $threadlist = ''; $query = $db->query(" SELECT t.*, u.username FROM ".TABLE_PREFIX."threads t LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=t.uid) WHERE 1=1 $unviewwhere AND t.visible='1' AND t.closed NOT LIKE 'moved|%' AND fid='".$specialfid."' ORDER BY t.lastpost DESC LIMIT 0, ".$mybb->settings['portal_showdiscussionsnum'] ); while($thread = $db->fetch_array($query)) { $lastpostdate = my_date($mybb->settings['dateformat'], $thread['lastpost']); $lastposttime = my_date($mybb->settings['timeformat'], $thread['lastpost']); // Don't link to guest's profiles (they have no profile). if($thread['lastposteruid'] == 0) { $lastposterlink = $thread['lastposter']; } else { $lastposterlink = build_profile_link($thread['lastposter'], $thread['lastposteruid']); } if(my_strlen($thread['subject']) > 25) { $thread['subject'] = my_substr($thread['subject'], 0, 25) . "..."; } $thread['subject'] = htmlspecialchars_uni($thread['subject']); $threadstarter = build_profile_link($thread['username'], $thread['uid']); eval("\$threadlist .= \"".$templates->get("portal_latestthreadssub_thread2")."\";"); $altbg = alt_trow(); } if($threadlist) { // show the table only if there are threads eval("\$latestthreadssub2 = \"".$templates->get("portal_latestthreadssub2")."\";"); } }
Habe eben ein weiteres Subforum einfügen wollen da gab es folgende Fehlermeldung:
Zitat:Fatal error: Allowed memory size of 12582912 bytes exhausted (tried to allocate 4497326 bytes) in /home/vhosts/5000138286/diehoerbar.net/htdocs/forum/portal.php(650) : eval()'d code on line 14
Zeile 650 ist:
PHP-Code: eval("\$threadlist .= \"".$templates->get("portal_latestthreadssub_thread3")."\";");
Danke
|