MyBB.de Forum

Normale Version: MyCode in Profilfeldern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3

navis

Ich habe einen anderen Accountswitcher drin https://github.com/doylecc/EnhancedAccou...ree/german
Thread description muss ich auch manuell einfügen, sofern ich das betreffende Template bearbeitet habe (habe den Profillink aus dem Untertitel genommen). Aber sofern ich es dann einfüge geht das Plugin. Fix Avatar Size
In meinem Testforum funktioniert das Plugin ebenfalls. Die Profilfelder, in denen BBCode verwendet wird, werden korrekt auf der Benutzer-Profil-Seite dargestellt.
(Falls du Profilfelder auch bei den Beiträgen anzeigen lässt, funktioniert das aber nicht, das ist von diesem Plugin nicht vorgesehen.)

navis

Ah okay, gut dann war das ein Verständnisproblem meinerseits. Mir ging es allgemein um BBCodes also auch in Mitgliederliste und Themenansicht.
Das ist ein komplett anderes Thema. Ein Plugin diesbezüglich fällt mit im Moment nicht ein. MAchbar wäre es aber über das xthreads Plugin (php in Templates).

navis

Okay, dann versuche ich es doch damit. Danke und sorry für den Fehler meinerseits.
Wie steht es im MyBB 1.8 mit dem BB-Code in Profilfeldern für die Memberlist? In Profil und Thread läuft das super, habe direkt beim Erstellen des Feldes angewählt, dass MyCode erlaubt ist. In der Memberlist steht nun zwar das Feld -  das, was im Thread oder Profil aber fett oder kursiv ist, steht nur in den eckigen Klammern.
Was Yasilein schreibt. Smile

Wie würde ich es denn quasi zu Fuß in 1.8.x (mit PHP im Template) hinbekommen, MyCode in den Profilfeldern umwandeln zu lassen?
Versuch es mal so. (Für ein Feld !)

Öffne die memberlist.php und Suche nach

PHP-Code:
$user['threadnum'] = my_number_format($user['threadnum']); 


darunter dies einfügen

PHP-Code:
$query2 $db->simple_select("userfields""fidx""ufid = ".$user['uid']."");
 
$results $db->fetch_array($query2);
 
$ufid $results['fidx'];
 
$parser = new postParser;
 
           $parser_options = array(
 
               "allow_html" => "0",
 
               "allow_mycode" => "1",
 
               "allow_smilies" => "1",
 
               "allow_imgcode" => "1",
 
               "filter_badwords" => "1"
 
           );
 
   
        $ufid 
$parser->parse_message($results['fidx'],$parser_options); 


x durch deine Profilfeld ID ersetzen.
Aah, verstehe. Der postParser parst das mit den angegebenen Options... Danke Dir! Smile
Ich hab dann mal das hier daraus gemacht (generisch für alle Felder, die sind im user-array ja schon vorhanden):

Ich suche nach:
PHP-Code:
$user['profilelink'] = build_profile_link($user['username'], $user['uid']); 

darunter füge ich das hier ein:
PHP-Code:
        // EDIT:=> BEGIN parse mycode in userfields:
        
$mycodeparser = new postParser;
        
$parser_options = array(
            
"allow_html" => "0",
            
"allow_mycode" => "1",
            
"allow_smilies" => "0",
            
"allow_imgcode" => "1",
            
"filter_badwords" => "0"
        
);
        
// iterate through user array, search for fieldnames "*fid*"
        
foreach ($user as $key => $value) {
            
$pos strpos($key'fid');
            if (
$pos !== false && $value) {
                
$user[$key] = $mycodeparser->parse_message($value,$parser_options);
            }
        }
        unset(
$value); // break the reference with the last element
        // EDIT:=> END parse mycode in userfields 

Richtig korrekt wärs natürlich, wenn man sich den cache mit den profilefields holt und dort wie in der member.php die typen und die parseroptions etc. raussucht. Ggf. könnt man auch ein Plugin machen, das am Hook "memberlist_user" ansetzt (damit man nicht bei jedem Update wieder ne neue Datei hat, die man händisch anpassen muss). Hab aber noch nie eins geschrieben. Vielleicht später mal..
Hauptsache es erfüllt seinen Zweck Big Grin
Seiten: 1 2 3