• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Add XF's Editor in an Addon

Lu Jia

Active member
#1
I guess it's possible tu add the TinyMCE Editor in my addon.
Is there someone who can explain me how to do it?
Simply I want to add an editor to a textarea in my addon :)

Thanks in advance
 

Chris D

XenForo developer
Staff member
#2
It may not be this easy...

But this is the template code used to add the textarea with TinyMCE (with the fall back to a standard text editor and all of the other good stuff):

<dl class="ctrlUnit fullWidth">
<dt></dt>
<dd>{xen:raw $editorTemplate}</dd>
</dl>
 

Lu Jia

Active member
#4
I miss something, how can I get the text from the editor?
PHP:
<?php
 
class EWRporta_ViewPublic_Edit extends XenForo_ViewPublic_Base
{
    public function renderHtml()
    {
        $this->_params['editorTemplate'] = XenForo_ViewPublic_Helper_Editor::getEditorTemplate(
            $this, 'message', $this->_params['defaultMessage']
        );
    }
}
I guess 'message' would be the name of the input but it doesn't work.

Edit: I found the solution, just add _html :D message => message_html
 

Lu Jia

Active member
#5
New day, new problem :D
I need to do a second editor, because I need to edit the entry of the first one.
Atm i'm using:
PHP:
            $text = $this->_request->getPost('message_html');
           
            $text = addslashes($text);
and
PHP:
            $news['hnews_text'] = stripslashes($news['hnews_text']);
the first one take the input value in $text and prepare the var to be stored in db.
The second one take the db's value and return it for displaying.
The problem is when i use this var for 'defaultMessage' in the editor will be showed:

HTML:
<p style="margin-right: 2px; margin-bottom: 5px; margin-left: 2px; padding: 2px; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: normal;"><a class="highslide" style="color: #ff76...
and not WYSIWYG like the input editor.
Sorry for my bad english I guess you can understand my problem, if you can't just tell me and i'll try to explain it in a different way.

Thanks in advance