Beiträge: 25.820 
	Themen: 271 
	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: 889 
	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.820 
	Themen: 271 
	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   
	 
	
	
	
	
 
 
	 
 |