Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste
Themenansicht: Erster Beitrag modern, darauffolgende Antworten klassische Ansicht
#1
Photo 
Hallo MyBB'Coder Smile

habe heute einen neuen Code Modifikations Wunsch.
Diese Code-Modifikation braucht ihr nicht extra als Plugin erstellen, da ich persönlich sehr sparsam Plugins einsetze und vorwiegend gerne manuelle Code-Änderungen vornehme.
Kenntnisse im Suchen und Ersetzen von Code-Schnipseln in PHP-Dateien und Templates sind vorhanden.

Name der Code Änderung:
„Themenansicht: Erster Beitrag modern, darauffolgende Antworten klassische Ansicht”


Bereich:
Zeige Thema Templates & Post Bit Templates


Kurze Beschreibung:
Die Themenansicht des ersten Beitrags, (also #Pid 1) soll in der "modernen" Themenansicht dargestellt werden, welches damals mit MyBB 1.4 eingeführt wurde.

Alle nachfolgenden Beiträge/Antworten (also #Pid 2, 3, 4, 5 u.s.w.) sollen in der klassischen Themenansicht dargestellt werden.
(Siehe Screenshot als Dateianhang)
   

PS: Damit es nicht zu einem Durcheinander kommt, werde ich selber im Benutzer-CP der Mitglieder das $classicpostbitcheck Kästchen um "Beiträge im klassischen Modus anzeigen" gänzlich entfernen.

Ich persönlich finde solche eine Code-Modifikation sehr nützlich, weil man hierdurch eine MyBB Installation als Group-Blogging *missbrauchen* kann, mit allen Vorteilen eines MyBB's. Die Quick-Reply Funktion wird dann als Kommentarfunktion fungieren.




Spende:
Diese Code-Modifikation war mir wieder mal eine klitze kleine Spende Wert.
(Schade dass die Paypal Gebühren ein Teil auffressen)



Tipp / Hinweis:

Ich habe das Plugin für Php Conditionals in Templates von Yumi bei mir installiert. Vielleicht lässt sich es auch nur mit IF Abfragen in den Templates lösen.

Auf einer vietnamesischen MyBB Support Seite habe ich ein Plugin gefunden.
(Es ist nicht das was ich brauche, es zeigt nämlich den ersten Beitrag auf jeder Seite an, was eigentlich schädlich ist und doppelten Content erzeugt.) Aber vielleicht ist dieses Plugin eventuell ein Lösungansatz.
http://mybbvn.com/forum/thread-703.mybbvn




Vielen Dank schon mal im vorraus.


PS: Damit diese Idee nicht unnötig gleichzeitig von mehreren Codern programmiert wird, bitte hier in diesem Thread kurz melden.



   
MyBB ist die weltbeste Forensoftware u. 1000 mal besser als VB, WBB und phpBB !

Seit Sommer 2006 setze ich auf MyBB.
Zitieren
#2
Ersetze in der inc/functions_post.php:
PHP-Code:
    if($mybb->settings['postlayout'] == "classic")
    {
        eval(
"\$postbit = \"".$templates->get("postbit_classic")."\";");
    }
    else
    {
        eval(
"\$postbit = \"".$templates->get("postbit")."\";");        
    } 
durch:
PHP-Code:
    if($postcounter != 1)
    {
        eval(
"\$postbit = \"".$templates->get("postbit_classic")."\";");
    }
    else
    {
        eval(
"\$postbit = \"".$templates->get("postbit")."\";");        
    } 
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
In meinem Körper wird gerade Endorphin und Serotonin ausgeschüttet ... Big Grin
Es freut mich dass es machbar ist.

Ich ziehe wieder meinen Hut vor dir.
Nach 7 Minuten schon eine Antwort mir einer Lösung.

Werde mich gleich daran setzen, es ausprobieren und ein Feedback geben.
*Daumen hoch*
es hat funktioniert Big Grin


Ich habe noch eine Frage die in Zusammenhang mit dieser Funktion zusammenhängt:


Plan A:
Die erste Antwort auf einen Thread bekommt ja immer die Pid Nummer 2 zugewiesen.
Benötigt es viele Code Änderungen, damit der die erste Antwort nicht Pid 2 hat, sondern Pid 1 ?
Ich würde dann nämlich das Wort "Beitrag" durch das Wort "Kommentar" ersetzen.


Plan B:
Wenn es zu schwer umzusetzen ist, ist dann machbar dass die Pid URLs ihre ursprüngliche Pid Nummer beibehalten, aber die Text Ausgabe per PHP dann einfach Minus 1 ausgegeben wird.
Ist dies eventuell machbar ?
MyBB ist die weltbeste Forensoftware u. 1000 mal besser als VB, WBB und phpBB !

Seit Sommer 2006 setze ich auf MyBB.
Zitieren
#4
Die Zähler beeinflussen ein paar Sachen, eine Manipulation wird schwierig.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
Wäre Plan B machbar ?

Es würde genügen, wenn nur die Text Ausgabe immer Minus -1 ist.
Die erste Antwort kann weiterhin die Zahl 2 in der Pid URL haben.

Vielleicht mit sowas ?
http://web-manual.de/php/php-variablen-u...trahieren/
MyBB ist die weltbeste Forensoftware u. 1000 mal besser als VB, WBB und phpBB !

Seit Sommer 2006 setze ich auf MyBB.
Zitieren
#6
Füge vor:
PHP-Code:
    $postcounter++; 
das ein:
PHP-Code:
    $pn $postcounter
Dann kannst du $pn anstatt $postcounter im Template benutzen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#7
Das mit {$pn} hat geklappt Big Grin

Danke für alles ! [Bild: http://www.mybbcoder.info/images/icons/thumbsup.gif]


Habe diesen Thread als "Erledigt" markiert.
MyBB ist die weltbeste Forensoftware u. 1000 mal besser als VB, WBB und phpBB !

Seit Sommer 2006 setze ich auf MyBB.
Zitieren
#8
Sorry fürs erneute Rauskramen, aber wäre es auch möglich, diesen ersten Beitrag dann auf jeder Seite des themas in bestimmten Foren einzublenden? Also dass der erste Beitrag des Themas auf jeder Seite oben angezeigt wird?
Zitieren
#9
Die einfachste Methode wäre wohl, die Datei showthread.php zu bearbeiten.

suche

PHP-Code:
        while($getid $db->fetch_array($query))
        {
            
// Set the ID of the first post on page to $pid if it doesn't hold any value
            // to allow this value to be used for Thread Mode/Linear Mode links
            // and ensure the user lands on the correct page after changing view mode
            
if(empty($pid))
            {
                
$pid $getid['pid'];
            }
            
// Gather a comma separated list of post IDs
            
$pids .= "$comma'{$getid['pid']}'";
            
$comma ",";
        } 

und füge darunter ein

PHP-Code:
        $forum_ids = array(3,12,41);
        if (
in_array($fid$forum_ids) && $start 0)
        {
            
$pids  $thread['firstpost'].','.$pids;
        } 

Die Zahlen im Array $forum_ids musst du natürlich gegen deine gewünschten Forum-IDs austauschen.
Zitieren
#10
Es funktioniert! Perfekt, vielen Dank! Big Grin

Und kombiniert mit der Postansicht Klassik? Geht es auch, dass dieser erste Post jetzt auf jeder Seite in der modernen Ansicht gezeigt wird?
(Und natürlich nur in denen aus dem Array - das wäre auch noch gut)

Nur eine theoretische Frage:
Kann man die Foren IDs irgendwie vererben? Also dass man nur eine Kategorie bzw ein Forum hinschreibt und alle Unterforen automatisch auch in das Array fallen?
Bzw kann man das alternativ nur in den Foren anzeigen lassen, in denen Beiträge gezählt werden?
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  [S] Plugin zur Themenansicht AGM 6 2.722 13.07.2014, 19:37
Letzter Beitrag: Arkan
  Erster eigener komplzierter MyCode, nichts geht... Bimon 1 1.348 24.01.2008, 23:00
Letzter Beitrag: Bimon
  Shoutbox 2.0.1 neuste beiträge auf erster seite ollitsch 6 3.208 27.11.2007, 01:10
Letzter Beitrag: aman