|
|

21.05.2009, 15:58
|
Aufsteigender Benutzer
|
|
Join Date: 12.2008
Age: 34
Posts: 132
Rep Power: 4
|
|
vbEditor in eigenem PHP Modul-gepuffert
Wir möchten unserem eigenen PHP Skript den vbEditor hinzufügen, um damit Kommentare zu ermöglichen.
vbcms bietet ja z.B. moderierbare kommentare an mit allem schnick schnack... wir haben jedoch eigenen, dynamischen content für den wir kommentare ermöglichen möchten.
so far, evtl. hat jemand einen tipp für mich?
Einen Artikel zum vbEditor habe ich zwar gefunden, jedoch mag es einfach nicht funktionieren. Ich nehme an das hängt damit zusammen, dass unser Modul von vbcms gepuffert wird.
TIA
Chris
|

21.05.2009, 16:46
 |
Web Design
|
|
Join Date: 12.2003
Location: In Spocks Quartier
Age: 34
Posts: 16,869
Rep Power: 10
|
|
|
Was heist es funktioniert nicht, gibt es irgendeine Fehlermeldung.
|

21.05.2009, 16:54
|
Aufsteigender Benutzer
|
|
Join Date: 12.2008
Age: 34
Posts: 132
Rep Power: 4
|
|
|
nein, keine Fehlermeldung
Es tut nichts, und es gibt nichts zu berichten, es läuft einfach nicht.
Anders gefragt:
wie erzeuge ich ein Eingabefeld (vbeditor) innerhalb eines Moduls?
Das Modul ist wie gesagt 'gepuffert' weil es eigenen PHP-Skript enthält.
Der besagte Artikel bringts nur für vb-Seiten.
Wir benutzen jedoch vbcms, bzw. die erweiterten, von vbcms gepufferte Seiten. (eigenes Skript)
|

21.05.2009, 17:00
 |
Web Design
|
|
Join Date: 12.2003
Location: In Spocks Quartier
Age: 34
Posts: 16,869
Rep Power: 10
|
|
|
Also benutzt du keine vB Templates für den Output?
|

21.05.2009, 17:11
|
Aufsteigender Benutzer
|
|
Join Date: 12.2008
Age: 34
Posts: 132
Rep Power: 4
|
|
|
Richtig, das Modul wird 'gepuffert', wir verwenden also keine vbTemplates für den Output.
Haben uns das trennen von Code und HTML für 2099 aufgehoben.
|

21.05.2009, 17:15
|
vbdesigns Guru
|
|
Join Date: 10.2006
Age: 27
Posts: 672
Rep Power: 7
|
|
Naja, wie schaut den dein derzeitiger Modulcode den aus?
Fangen wir mal so an 
Langsam solltest du ja schon wissen wie das abrennt^^
|

21.05.2009, 17:15
 |
Web Design
|
|
Join Date: 12.2003
Location: In Spocks Quartier
Age: 34
Posts: 16,869
Rep Power: 10
|
|
|
Dann musst du deinen Editor natürlich auch mit echo oder print whatever ausgeben.
|

21.05.2009, 17:31
|
Aufsteigender Benutzer
|
|
Join Date: 12.2008
Age: 34
Posts: 132
Rep Power: 4
|
|
oh danke, auf ein echo wäre ich nie gekommen.
Hilft leider nix.
Das Modul fängt an wie jedes andere auch:
PHP Code:
if(!class_exists('vBCMS_fetch_components'))
{
exit;
}
Editor Funktionen einbinden:
PHP Code:
require_once( DIR . '/includes/functions_editor.php');
Da basteln wir bzw. konstruieren wir die editorid:
PHP Code:
$editorid = construct_edit_toolbar('', 0, 'privatemessage', iif($vbulletin->options['privallowsmilies'], 1, 0));
hier kommt mein statement, skript & ausgabe in der selben datei.
dann wirds haarig:
PHP Code:
$show['editor_css'] = true;
$specialtemplates = array(
'smiliecache',
'bbcodecache'
);
require_once(DIR . '/includes/functions_editor.php');
echo $editorid = construct_edit_toolbar('', 0, 'privatemessage', iif($vbulletin->options['privallowsmilies'], 1, 0));
$vbulletin->input->clean_array_gpc('p', array(
'wysiwyg' => TYPE_BOOL,
'message' => TYPE_STR,
));
if ($vbulletin->GPC['message'] != '')
{
require_once(DIR . '/includes/functions_newpost.php');
if ($vbulletin->GPC['wysiwyg'])
{
require_once(DIR . '/includes/functions_wysiwyg.php');
$vbulletin->GPC['message'] = convert_wysiwyg_html_to_bbcode($vbulletin->GPC['message'], $vbulletin->options['privallowhtml']);
}
}
require_once(DIR . '/includes/class_bbcode.php');
echo $bbcode =& new vB_BbCodeParser($vbulletin, fetch_tag_list()); // Instanz des Paresers erzeugen
$text = $bbcode->parse($text, 'test', true); // BBCodes & Smilies in der Varieble test umwandeln. Das letzte argument gibt an, ob Smilies umgewandeltw erden sollen oder nicht. (Nützlich dann, wenn man je Item angeben kann, ob Smilies aktiviert werden sollen oder nicht (wie in Posts))
echo $text;
require_once(DIR . '/includes/class_bbcode.php');
$bbcode =& new vB_BbCodeParser($vbulletin, fetch_tag_list()); // Instanz des Paresers erzeugen
$text = $bbcode->parse($text, 'test', true); // BBCodes & Smilies in der Varieble test umwandeln. Das letzte argument gibt an, ob Smilies umgewandeltw erden sollen oder nicht. (Nützlich dann, wenn man je Item angeben kann, ob Smilies aktiviert werden sollen oder nicht (wie in Posts))
require_once(DIR . '/includes/functions_editor.php');
$editorid = construct_edit_toolbar('', 0, 'privatemessage', iif($vbulletin->options['privallowsmilies'], 1, 0));
echo $editorid;
und die Ausgabe:
PHP Code:
<form action="xxxx" method="post" enctype="multipart/form-data" onsubmit="return vB_Editor['$editorid'].prepare_submit(0, 0)">
<?php echo $messagearea; ?>
<input type="submit" class="button" value="speichern" />
Das einzige was ich zu sehen bekomme ist folgender Text und ein speichern Button:
vB_Editor_002vB_Editor_003
|

21.05.2009, 17:38
 |
Web Design
|
|
Join Date: 12.2003
Location: In Spocks Quartier
Age: 34
Posts: 16,869
Rep Power: 10
|
|
PHP Code:
global $messagearea, $editorid;
require_once( DIR . '/includes/functions_editor.php');
echo $messagearea;
Das <form> Feld etc. musst du noch hinzufügen mit weiteren echos.
|

21.05.2009, 20:35
|
Aufsteigender Benutzer
|
|
Join Date: 12.2008
Age: 34
Posts: 132
Rep Power: 4
|
|
|
Das Form Feld ist doh schon da?
Nun dein Code, christian, hat mich schon weitergebracht.
Jetzt habe ich eine Textbox nur leider ohne Features.
Also ich seh zwar den vbeditor kann auch was reinschreiben,
aber kann nichts anklicken, auswählen, geschweige denn editieren.
Oder muss ich dem Form noch etwas spezielles mitteilen?
|

21.05.2009, 21:25
|
vbdesigns Guru
|
|
Join Date: 10.2006
Age: 27
Posts: 672
Rep Power: 7
|
|
Probier mal:
PHP Code:
<?php
if(!class_exists('vBCMS_fetch_components')) { exit; } global $messagearea, $editorid;
require_once(DIR . '/includes/functions_editor.php');
$vBeditJs = construct_editor_js_arrays(); $istyles_js = construct_editor_styles_js(); // check that $editor_css has been built if (!isset($GLOBALS['editor_css'])) { eval('$GLOBALS[\'editor_css\'] = "' . fetch_template('editor_css') . '";'); $GLOBALS['headinclude'] .= "<!-- Editor CSS automatically added by " . substr(strrchr(__FILE__, DIRECTORY_SEPARATOR), 1) . " at line " . __LINE__ . " -->\n" . $GLOBALS['editor_css']; }
eval('$vBeditTemplate[\'clientscript\'] = "' . fetch_template('editor_clientscript') . '";');
$editorid = construct_edit_toolbar('', 0, 'privatemessage', iif($vbulletin->options['privallowsmilies'], 1, 0));
echo '<form action="xxxx" method="post" enctype="multipart/form-data"'; if (!is_browser('webtv')) { echo "onsubmit=\"return vB_Editor['$editorid'].prepare_submit(0, 0)\""; } echo '>'; echo $messagearea; echo '<input type="submit" class="button" value="speichern" /></form>';
?>
Ist Pseudocode, der aber auf jeden Fall mal den Editor voll funktionsfähig einfügt 
|

21.05.2009, 21:43
|
Aufsteigender Benutzer
|
|
Join Date: 12.2008
Age: 34
Posts: 132
Rep Power: 4
|
|
|
getestet mit folgendem Ergebnis:
FF: vbEditor wird angezeigt, jedoch ohne Funktionen (wie vorher)
IE: Textfeld wird angezeigt, kein vbEditor zu sehen
funktioniert der code testweise bei dir, ragtek?
Dann müsste ich in meinem skript nach der Ursache suchen...
|

21.05.2009, 21:54
|
vbdesigns Guru
|
|
Join Date: 10.2006
Age: 27
Posts: 672
Rep Power: 7
|
|
Also meiner funkt(ausser der Style am Anfang, aber ehrlichgesagt habe ich keine Lust und Laune jetzt Stunden in das zu investieren  )
http://ragtek.org/demo/vbcmseditor.htm
|

21.05.2009, 21:57
|
Aufsteigender Benutzer
|
|
Join Date: 12.2008
Age: 34
Posts: 132
Rep Power: 4
|
|
|
verlangt auch niemand.
hast du bei deinem testmodul das "puffern" auf JA?
|

21.05.2009, 22:06
|
vbdesigns Guru
|
|
Join Date: 10.2006
Age: 27
Posts: 672
Rep Power: 7
|
|
jop
Also hier nochmal der komplette Code
PHP Code:
<?php
if(!class_exists('vBCMS_fetch_components')) { exit; } global $messagearea, $editorid;
require_once(DIR . '/includes/functions_editor.php');
$vBeditJs = construct_editor_js_arrays(); $istyles_js = construct_editor_styles_js(); // check that $editor_css has been built if (!isset($GLOBALS['editor_css'])) { eval('$GLOBALS[\'editor_css\'] = "' . fetch_template('editor_css') . '";'); $GLOBALS['headinclude'] .= "<!-- Editor CSS automatically added by " . substr(strrchr(__FILE__, DIRECTORY_SEPARATOR), 1) . " at line " . __LINE__ . " -->\n" . $GLOBALS['editor_css']; }
eval('$vBeditTemplate[\'clientscript\'] = "' . fetch_template('editor_clientscript') . '";');
$editorid = construct_edit_toolbar('', 0, 'privatemessage', iif($vbulletin->options['privallowsmilies'], 1, 0));
echo '<form action="xxxx" method="post" enctype="multipart/form-data"'; if (!is_browser('webtv')) { echo "onsubmit=\"return vB_Editor['$editorid'].prepare_submit(0, 0)\""; } echo '>'; echo $messagearea; echo '<input type="submit" class="button" value="speichern" /></form>';
?>
Das ist jetzt nur die Anzeigroutine..
UNd ja, Ausgabe puffern ist auf ja geschalten.
Wie gesagt, der Style beim laden funktioniert nicht, sobald ich mit der Maus über die einzelnen Buttons fahre, werden sie richtig gefärbt und die Sachen funktionieren (wie man im Video sieht)
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML code is Off
|
|
|
|