30.05.2009, 14:02
30.05.2009, 20:46
Schade, na ja, dann lass ichs halt erstmal so.
04.07.2009, 23:25
(30.06.2007, 08:53)Jan schrieb: [ -> ]Sebastian,Ist es möglich diesen Code in die showthread.php einzubauen?
dazu muss in der "/portal.php" nach
folgender PHP Code eingefügt werden:PHP-Code:if($threadlist)
{ // show the table only if there are threads
eval("\$latestthreads = \"".$templates->get("portal_latestthreads")."\";");
}
}
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")."\";");
}
}
[...]
Ich habe bereits diesen Code übernommen, nur wird nichts angezeigt, welche Codeabschnitte müssen noch übernommen werden, damit dies funkioniert?
29.09.2009, 15:16
(30.06.2007, 08:53)Jan schrieb: [ -> ]Sebastian,
dazu muss in der "/portal.php" nach
folgender PHP Code eingefügt werden:PHP-Code:if($threadlist)
{ // show the table only if there are threads
eval("\$latestthreads = \"".$templates->get("portal_latestthreads")."\";");
}
}
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?
29.09.2009, 22:41
Wenn du im ACP ein neues Template erstellst, gibt es ein Formularfeld für den Code: ACP: Templates & Style -> Templates -> Template hinzufügen.
15.12.2009, 09:54
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
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
15.12.2009, 17:55
Das, was gelesen ist, kann man nur mit aufwendigem Code erkennen.
17.12.2009, 17:53
Hi,
Ist es möglich aus der "Letzten Beiträge Box" die Subforen auszuschließen für die man eine extra Box macht `?
Ist es möglich aus der "Letzten Beiträge Box" die Subforen auszuschließen für die man eine extra Box macht `?
17.12.2009, 18:22
Ja, du kannst die Datenbankabfrage entsprechend ändern. Wie sieht diese aktuell bei dir aus?
17.12.2009, 18:34
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