Within template: {if $preferFCK == true} {fckeditor assign="editor" name="new_text" x=600 y=600 text=$text toolbar="page"} {$editor->create()} {else} {/if} But first, plugin must be registered when smarty object is created: require_once($smarty->_get_plugin_filepath('function', 'fckeditor')); And the plugin itself: trigger_error("editor name missing", E_USER_ERROR); return; } $data = new FCKeditor($params['name']); $data->BasePath = DOC_ROOT .'/lib/FCKeditor/'; $data->Width = (isset($params['x']) ? (int) $params['x'] : 400); $data->Height = (isset($params['y']) ? (int) $params['y'] : 400); $data->ToolbarSet = (isset($params['toolbar']) ? (int) $params['toolbar'] : 'Default'); $data->Value = (isset($params['text']) ? $params['text'] : ''); if (isset($params['assign'])) { $smarty->assign($params['assign'], $data); } else { return $data; } ?>