PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Der vB Editor



ragtek
04.05.2009, 07:17
Hier stelle ich euch eine Möglich vor, den vB Editor in eigene Modifikationen einzubauen.

1. benötigte Templates & Datastoreeinträge
Falls es sich um eine eigene Seite handelt, kann man ganz einfach per
PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
---------- alle benötigten Templates laden, genauso kann man es per Plugin auf dem Hook style_fetch laden (Achtung hier gibt es auch ausnahmen! zB im Profil! Hier wird es zwar verwendet PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
---------- aber wie man sieht nur bei do=editsignature und do=updatesignature.
Da es eine Konstante ist, kann man es nicht mehr erweitertn, da gibt es dann folgende Möglichkeit:
$globaltemplates = array_merge($globaltemplates, array(
// message stuff 3.5
'editor_toolbar_on',
'editor_smilie',
// message area for wysiwyg / non wysiwyg
'editor_css',
'editor_clientscript',
'editor_toolbar_off',
// javascript menu builders
'editor_jsoptions_font',
'editor_jsoptions_size',
// smiliebox templates
'editor_smiliebox',
'editor_smiliebox_category',
'editor_smiliebox_row',
'editor_smiliebox_straggler',
// needed for thread preview
'bbcode_code',
'bbcode_html',
'bbcode_php',
'bbcode_quote',
// misc often used
'newpost_threadmanage',
'newpost_disablesmiliesoption',
'newpost_preview',
'newpost_quote',
'posticonbit',
'posticons',
'newpost_usernamecode',
'newpost_errormessage',
'forumrules'
));

$show['editor_css'] = true;Hier war ich ein bisschen faul und habe alle Templates aus der global.php kopiert,...)

Desweiteren braucht man noch den bb & smiliecache
PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
2. Editor einbinden (php seitig)
PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
Folgende Parameter nimmt die Funktion construct_edit_toolbar entgegen:


* @param string The text to be initially loaded into the editor
* @param boolean Is the initial text HTML (rather than plain text or bbcode)?
* @param mixed Forum ID of the forum into which we are posting. Special rules apply for values of 'privatemessage', 'usernote', 'calendar', 'announcement' and 'nonforum'
* @param boolean Allow smilies?
* @param boolean Parse smilies in the text of the message?
* @param boolean Allow attachments?
* @param string Editor type - either 'fe' for full editor or 'qr' for quick reply
* @param string Force the editor to use the specified value as its editorid, rather than making one up

3. Editor einbinden (Template seitig)
HTML:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
Erklärung: onsubmit="return vB_Editor['$editorid'].prepare_submit(0, 0)

Der 1. Parameter übergibt den Titeltext
Der 2. Parameter gibt die Mindestzeichenanzahl für den Text an
Falls man hier was anderes als eine 0 angibt, wird vor dem Senden überprüft ob der Text lang genug ist, falls nicht, wird die entsprechende Fehlermeldung ausgegeben.
4. Text empfangen und speichern(Template seitig)
PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Surviver
04.05.2009, 15:59
Noch 2 Anmerkungen:

1. Die Phrasengruppe posting sollte bei Verwendung des Editor geladen werden
2. Du benutzt hier als "Parsing-Typ" privatemessage.

Wenn man aber eigene "Profile" erstellen möchte (HTML erlauben, BBCode erlauben, Smilies erlauben, etc) geht das auch.

Dazu muss man in ragteks Beispiel alle Vorkommen von privatemessage durch z.B. test ersetzen und die folgenden 2 Plugins erstellen:


if ($forumid == 'test') // Ja, forumid ist richtig, wnen auch etwas verwirrend ;)
{
$can_toolbar = true; // Toolbar (WYSIWYG) mit Buttons zur Textformatierung anzeigen?
$show['img_bbcode'] = true; // [IMG]-Tag erlauben?
}

Mit diesem Plugin wird bestimmt, wie der Editor an sich aussieht/was er "kann".


if ($forumid == 'test') //Auch hier ist forumid richtig
{
$dohtml = 0; // HTML erlauben?
$dobbcode = 1; // BBCode erlauben?
$dobbimagecode = 1; // [IMG]-Tag erllauben?
$dosmilies = 1; // Smilies erlauben?
}

Dieses Plugin legt fest, dass später auch nur die Sachen umgewandelt werden, die aktioviert sind (Also HTML = Aus, BBCode/Smilies aktiviert)

Wenn ihr dann an einer anderen Stelle Text nach diesem Schema parsen wollt, müsst ihr folgenden Code benutzen:

PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Viele Grüße
Juian

ragtek
05.05.2009, 00:18
Auf die Idee bin ich ehrlichgesagt noch garnicht gekommen:D

Danke

FCS-Webmaster
20.12.2010, 01:49
Ich habe das Problem das soweit alles funktioniert solange ich nicht in meinen Einstellungen als User habe: WYSIWG - Editor. Woran liegt das?