BBCode auf eigener Seite

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Walter91
Mitglied
Beiträge: 108
Registriert: 16.02.2012 08:28

BBCode auf eigener Seite

Beitrag 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?
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: BBCode auf eigener Seite

Beitrag von Miriam »

Was hast Du denn so an externen Scripten includiert?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Walter91
Mitglied
Beiträge: 108
Registriert: 16.02.2012 08:28

Re: BBCode auf eigener Seite

Beitrag 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 ?
Walter91
Mitglied
Beiträge: 108
Registriert: 16.02.2012 08:28

Re: BBCode auf eigener Seite

Beitrag 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>
Walter91
Mitglied
Beiträge: 108
Registriert: 16.02.2012 08:28

Re: BBCode auf eigener Seite

Beitrag 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 :grin:
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

Code: Alles auswählen

<!-- IF S_DISPLAY_PREVIEW --><!-- ENDIF -->
{MESSAGE}
Benutzeravatar
DetlefT
Mitglied
Beiträge: 237
Registriert: 03.02.2009 15:39
Wohnort: Bedburg
Kontaktdaten:

Re: BBCode auf eigener Seite

Beitrag von DetlefT »

Walter91 hat geschrieben:test.html

Code: Alles auswählen

<!-- IF S_DISPLAY_PREVIEW --><!-- ENDIF -->
{MESSAGE}
Hallo Walter91,

Danke für die Mitteilung Deiner Lösung. Allerdings dürfte dieser Teil ziemlich sinnfrei sein. Ist es nicht in Wirklichkeit so: :wink:

Code: Alles auswählen

<!-- IF S_DISPLAY_PREVIEW -->{MESSAGE}<!-- ENDIF -->
Grüße, DetlefT *** Mein Forum: FJR-Tourer Deutschland

http://einfachpur.de
Walter91
Mitglied
Beiträge: 108
Registriert: 16.02.2012 08:28

Re: BBCode auf eigener Seite

Beitrag 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}
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: BBCode auf eigener Seite

Beitrag von Miriam »

In Walters Lösung kann das also wegfallen:
<!-- IF S_DISPLAY_PREVIEW --><!-- ENDIF -->
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“