MyBB.de Forum
Neues Postbit-Template, wo Änderungen im Code vornehmen? - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Archiv (https://www.mybb.de/forum/forum-57.html)
+--- Forum: MyBB 1.6.x (https://www.mybb.de/forum/forum-58.html)
+---- Forum: Allgemeiner Support (https://www.mybb.de/forum/forum-59.html)
+---- Thema: Neues Postbit-Template, wo Änderungen im Code vornehmen? (/thread-17478.html)



Neues Postbit-Template, wo Änderungen im Code vornehmen? - modercol - 14.12.2010

Ich bin gerade dabei ein neues Postbit-Theme zu erstellen, das entsprechende Template und die Abfrage im Benutzer-CP war da noch die leichteste Aufgabe.
Denn ich finde die entsprechenden Abfragen in den Dateien einfach nicht, in denen der Wert von der Datenbank abgerufen wird, welches Postbit verwendet werden soll.
Wo sind diese?


RE: Neues Postbit-Template, wo Änderungen im Code vornehmen? - Zwoetzen - 14.12.2010

/inc/functions_post.php, am Ende der Funktion build_postbit() (~Zeile 629-636) Wink


RE: Neues Postbit-Template, wo Änderungen im Code vornehmen? - modercol - 15.12.2010

Schon etwas weiter, Danke Smile.
Allerdings brauch ich jetzt noch die Abfrage von "classicpostbit" in der _users-Tabelle. In der functions_post.php kann nur eine zusätzliche Standardeinstellung vom Forum angelegt werden, nicht jedoch das gewählte vom Benutzer-CP.

EDIT: Hab in /datahandlers/user.php folgendes gefunden, was genau bewirkt die "verify_yesno_option"?
PHP-Code:
$options = &$this->data['options'];
if(
$mybb->settings['postlayout'] == 'classic')
        {
            
$this->verify_yesno_option($options'classicpostbit'1);
        }
        else
        {
            
$this->verify_yesno_option($options'classicpostbit'0);
        } 
Folgende Werte können in "classicpostbit" in der users-Tabelle eingetragen werden:
0 = horizontal
1 = classic
2 = Custom


RE: Neues Postbit-Template, wo Änderungen im Code vornehmen? - Michael - 15.12.2010

inc/class_session.php ab Zeile 244.


RE: Neues Postbit-Template, wo Änderungen im Code vornehmen? - modercol - 17.12.2010

Danke euch, funktioniert perfekt Smile.


RE: Neues Postbit-Template, wo Änderungen im Code vornehmen? - modercol - 14.05.2011

Aufgrund mangelnder Tests haben wir jetzt erst einen Fehler entdeckt:
Im BenutzerCP stehen bei der Beitragsanzeige folgende Auswahlmöglichkeiten zur Verfügung:
Horizontal (value: horizontal)
Klassisch (value: classic)
CH (value: ch)

In der inc/datahandlers/user.php wird folgender Code ausgeführt, der die Auswahl in die DB speichert: (Zeile ~595)
PHP-Code:
if($mybb->settings['postlayout'] == 'ch')
        {
            
$options['classicpostbit'] = 2;
        }
        elseif(
$mybb->settings['postlayout'] == 'classic')
        {
            
$this->verify_yesno_option($options'classicpostbit'1);
        }
        else
        {
            
$this->verify_yesno_option($options'classicpostbit'0);
        } 
Problem ist jetzt allerdings, dass die "2" nicht gespeichert wird, stattdessen wird immer "1" gespeichert. Die If-Abfrage ist nicht das Problem, denn sobald ich statt der 2 eine 1 oder 0 eintrage, funktioniert es.
Es muss also noch irgendwo einen Filter geben, der nur 1 oder 0 erlaubt. Die Spalte (classicpostbit in _users) in der DB wurde von int(1) auf int(11) erhöht.



RE: Neues Postbit-Template, wo Änderungen im Code vornehmen? - StefanT - 14.05.2011

Ich glaube, du hast den Sinn dieser Abfrage nicht erkennt. Der ursprüngliche Code schaut, was im ACP eingestellt ist und schaut, ob man etwas anderes angegeben hat. Das ist der 3. Parameter von verify_yesno_option. Der angegebene Wert steckt schon im $options, was im ersten Parameter drin ist.

PS: int(1) reicht locker um eine 2 zu speichern, int(11) sind elfstellige Zahlen!


RE: Neues Postbit-Template, wo Änderungen im Code vornehmen? - modercol - 16.05.2011

Okay, aber nach wie vor funktioniert das Speichern nicht.
Wie oben im Code steht, mach ich das:
PHP-Code:
$options['classicpostbit'] = 2
Das $options-Array wird zweimal gespeichert, einmal per Referenz und unterhalb wirds nochmal direkt abgespeichert:
PHP-Code:
$options = &$this->data['options'];
// ...
$this->data['options'] = $options



RE: Neues Postbit-Template, wo Änderungen im Code vornehmen? - Sebastian1990 - 18.05.2011

Kann uns keiner helfen?


RE: Neues Postbit-Template, wo Änderungen im Code vornehmen? - StefanT - 18.05.2011

Ich kann mit dem geposteten Teil des Codes leider nicht viel anfangen...