Seite 1 von 1
BBCode auf eigener Seite
Verfasst: 21.11.2012 19:33
von Walter91
Ich versuche gerade BBCode auf eigener Seite auszugeben.
Das Eintragen in die Datenbank funktioniert einwandfrei.
Aus der Dev-Wiki habe ich folgenden Code eingebaut und angepasst:
Code: Alles auswählen
$sql = 'SELECT message, bbcode_uid, bbcode_bitfield, enable_bbcode, enable_smilies, enable_magic_url
FROM ' . MEINE_TABLE . '
WHERE id = ' . (int) $id;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$bbcode_options = (($row['enable_bbcode']) ? OPTION_FLAG_BBCODE : 0) +
(($row['enable_smilies']) ? OPTION_FLAG_SMILIES : 0) +
(($row['enable_magic_url']) ? OPTION_FLAG_LINKS : 0);
$template->assign_vars(array(
'MESSAGE' => generate_text_for_display($row['message'], $row['bbcode_uid'], $row['bbcode_bitfield'], $bbcode_options),
));
Nur die Ausgabe funktioniert nicht. Anstatt Text und Smilie bekomme ich nur das angezeigt:
Code: Alles auswählen
[b:3q974v2k][size=150:3q974v2k]Testtext[/size:3q974v2k][/b:3q974v2k] :mrgreen:
Kann da jemand weiterhelfen?
Re: BBCode auf eigener Seite
Verfasst: 22.11.2012 19:12
von Miriam
Was hast Du denn so an externen Scripten includiert?
Re: BBCode auf eigener Seite
Verfasst: 22.11.2012 20:38
von Walter91
@Miriam
also das hab ich bis jetzt drin:
Code: Alles auswählen
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
Ich weiß aber nicht ob noch was fehlt ?
Re: BBCode auf eigener Seite
Verfasst: 29.11.2012 13:35
von Walter91
Keiner eine Idee wie man das lösen könnte?
Habe jetzt mal folgendes probiert:
Postbutton eingebaut, Absenden,
das funktioniert !
Nun möchte ich natürlich das die BBCodes dort wo {PREVIEW_MESSAGE} steht, automatisch angezeigt werden.
Kann jemand helfen wie ich das ändern muß?
test.html
Code: Alles auswählen
{PREVIEW_MESSAGE}
<form id="postform" method="post" action="{S_POST_ACTION}" onsubmit="return checkForm(this);">
<fieldset class="submit-buttons">
<input type="submit" name="preview" class="button1" onclick="document.getElementById('postform').action += '#preview';" />
</fieldset>
<fieldset>
<textarea name="message" id="message" onselect="storeCaret(this);"> {MESSAGE} </textarea>
</fieldset>
</form>
Re: BBCode auf eigener Seite
Verfasst: 09.12.2012 10:52
von Walter91
Habe das Problem inzwischen mit Hilfe
https://wiki.phpbb.com/Tutorial.Parsing_text gelöst.
Das funktioniert einwandfrei. BBCode wird jetzt auf eigener Seite gezeigt
Für alle die das auch interessiert:
test.php (Auszüge)
Code: Alles auswählen
// das muss rein
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
include($phpbb_root_path . 'includes/message_parser.' . $phpEx);
....
// BBCode
$sql = 'SELECT message, bbcode_uid, bbcode_bitfield, enable_bbcode, enable_smilies, enable_magic_url
FROM ' . MEINE_TABLE . '
WHERE id = ' . (int) $id;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$bbcode_options = (($row['enable_bbcode']) ? OPTION_FLAG_BBCODE : 0) +
(($row['enable_smilies']) ? OPTION_FLAG_SMILIES : 0) +
(($row['enable_magic_url']) ? OPTION_FLAG_LINKS : 0);
$template->assign_vars(array(
'MESSAGE' => generate_text_for_display($row['message'], $row['bbcode_uid'], $row['bbcode_bitfield'], $bbcode_options),
));
test.html
Re: BBCode auf eigener Seite
Verfasst: 09.12.2012 12:30
von DetlefT
Walter91 hat geschrieben:test.html
Hallo Walter91,
Danke für die Mitteilung Deiner Lösung. Allerdings dürfte dieser Teil ziemlich sinnfrei sein. Ist es nicht in Wirklichkeit so:
Re: BBCode auf eigener Seite
Verfasst: 09.12.2012 12:54
von Walter91
@Detleft
Macht Sinn wie du es schreibst aber du wirst es nicht glauben, bei mir läuft das trotzdem.
Code: Alles auswählen
<!-- IF S_DISPLAY_PREVIEW --><!-- ENDIF -->
{MESSAGE}
Re: BBCode auf eigener Seite
Verfasst: 09.12.2012 14:00
von Miriam
In Walters Lösung kann das also wegfallen:
<!-- IF S_DISPLAY_PREVIEW --><!-- ENDIF -->