Beiträge: 25.770
Themen: 269
Registriert seit: 20.09.2005
Das ist sehr aufwendig.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 5
Themen: 0
Registriert seit: 03.04.2009
Schade, na ja, dann lass ichs halt erstmal so.
Beiträge: 890
Themen: 78
Registriert seit: 01.11.2006
MyBB-Version: 1.6.11
(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?
Keinen Support per PN, eMail und Messenger
Beiträge: 328
Themen: 93
Registriert seit: 21.02.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?
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Wenn du im ACP ein neues Template erstellst, gibt es ein Formularfeld für den Code: ACP: Templates & Style -> Templates -> Template hinzufügen.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 27
Themen: 5
Registriert seit: 14.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
Beiträge: 25.770
Themen: 269
Registriert seit: 20.09.2005
Das, was gelesen ist, kann man nur mit aufwendigem Code erkennen.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 111
Themen: 14
Registriert seit: 07.03.2009
Hi,
Ist es möglich aus der "Letzten Beiträge Box" die Subforen auszuschließen für die man eine extra Box macht `?
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Ja, du kannst die Datenbankabfrage entsprechend ändern. Wie sieht diese aktuell bei dir aus?
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 111
Themen: 14
Registriert seit: 07.03.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
|