JFactory/getEditor

From Joomla! Documentation
< JFactory(Difference between revisions)
Jump to: navigation, search
m (Example)
m
 
(2 intermediate revisions by one user not shown)
Line 27: Line 27:
 
echo $editor->display( 'desc', '', '400', '400', '20', '20', false, $params );
 
echo $editor->display( 'desc', '', '400', '400', '20', '20', false, $params );
 
</source>
 
</source>
 +
 +
In Joomla! 2.5 the parameters list for the display() function has been lengthened, so to use specific display parameters in 2.5:
 +
<source lang="php">
 +
$editor =& JFactory::getEditor();
 +
$params = array( 'smilies'=> '0' ,
 +
'style'  => '1' , 
 +
'layer'  => '0' ,
 +
'table'  => '0' ,
 +
'clear_entities'=>'0'
 +
);
 +
echo $editor->display( 'desc', '', '400', '400', '20', '20', false, null, null, null, $params );
 +
</source>
 +
$editor->display() <b>must<b> also be the first function called on the editor if you wish to use specific parameters.
 +
 
<b>For a complete list of parameters that can be passed to the TinyMCE editor, see the Joomla source file:</b> ''/plugins/editor/tinymce.php''.
 
<b>For a complete list of parameters that can be passed to the TinyMCE editor, see the Joomla source file:</b> ''/plugins/editor/tinymce.php''.
  
  
 
<b>HINT for your JModel:</b>
 
<b>HINT for your JModel:</b>
 +
 
Be aware that JRequest::GET by default filters all HTML-code down to plain text, which might not be very useful when using the editor.  
 
Be aware that JRequest::GET by default filters all HTML-code down to plain text, which might not be very useful when using the editor.  
  
To store HTML-code within your model class you <b>MUST</b> explicitely request HTML-Code from the JRequest Object, otherwise all HTML will be stripped ''(and you might spend one day in reading docs like i did today)''.
+
To store HTML-code within your model class you <b>MUST</b> explicitely request HTML-Code from the JRequest-Object, otherwise all HTML will be stripped ''(and you might spend one day in debugging and reading docs like i did today)''.
  
 
<source lang="php">
 
<source lang="php">
Line 42: Line 57:
 
   $row =& $this->getTable();
 
   $row =& $this->getTable();
 
   $data = JRequest::get( 'post');
 
   $data = JRequest::get( 'post');
   /* Get proper data for your HTML-encoded field now */
+
   /* Get proper HTML-code for your HTML-encoded field now by using JREQUEST_ALLOWHTML*/
 
   $data['yourfieldname']=JRequest::getVar( 'yourfieldname', '', 'post', 'string', JREQUEST_ALLOWHTML );
 
   $data['yourfieldname']=JRequest::getVar( 'yourfieldname', '', 'post', 'string', JREQUEST_ALLOWHTML );
 +
  /* now proceed as suggested */
  
 
   $row->bind($data);
 
   $row->bind($data);

Latest revision as of 05:38, 30 November 2012

Returns a reference to the global editor object, only creating it if it doesn't already exist. The object returned will be of type JEditor.

[edit] Syntax

object JEditor getEditor( $editor )

where:

Argument Data type Description Default
$editor string The name of the editor (for example, 'tinymce'). If null then the current editor will be returned. null

[edit] Example

In this example, you can see how to display the editor and send specific display parameters.

$editor =& JFactory::getEditor();
$params = array( 'smilies'=> '0' ,
                 'style'  => '1' ,  
                 'layer'  => '0' , 
                 'table'  => '0' ,
                 'clear_entities'=>'0'
                 );
echo $editor->display( 'desc', '', '400', '400', '20', '20', false, $params );

In Joomla! 2.5 the parameters list for the display() function has been lengthened, so to use specific display parameters in 2.5:

$editor =& JFactory::getEditor();
$params = array( 'smilies'=> '0' ,
                 'style'  => '1' ,  
                 'layer'  => '0' , 
                 'table'  => '0' ,
                 'clear_entities'=>'0'
                 );
echo $editor->display( 'desc', '', '400', '400', '20', '20', false, null, null, null, $params );

$editor->display() must also be the first function called on the editor if you wish to use specific parameters.

For a complete list of parameters that can be passed to the TinyMCE editor, see the Joomla source file: /plugins/editor/tinymce.php.


HINT for your JModel:

Be aware that JRequest::GET by default filters all HTML-code down to plain text, which might not be very useful when using the editor.

To store HTML-code within your model class you MUST explicitely request HTML-Code from the JRequest-Object, otherwise all HTML will be stripped (and you might spend one day in debugging and reading docs like i did today).

/*The store-procedure in your model might then look like this*/
[...] 
function store()
{
  $row =& $this->getTable();
  $data = JRequest::get( 'post');
  /* Get proper HTML-code for your HTML-encoded field now by using JREQUEST_ALLOWHTML*/
  $data['yourfieldname']=JRequest::getVar( 'yourfieldname', '', 'post', 'string', JREQUEST_ALLOWHTML );
  /* now proceed as suggested */
 
  $row->bind($data);
  [...] 
  $row->check();
  [...] 
  $row->store();
  [...] 
}
[...]

[edit] See also

Personal tools
Namespaces

Variants
Actions