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.)
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).
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.
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!
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