4
Авг

Symfony, расширение визуального редактора (symfony 1.0)

Posted by Jeka under Программирование

Понадобилось мне встроить в FCKeditor (http://www.fckeditor.net/), файл менеджер CKFinder (http://www.ckfinder.com/).

Из php встраивается он таким способом:

$fckeditor = new FCKeditor( 'FCKeditor1' ) ;
CKFinder::SetupFCKeditor( $fckeditor, '../../' ) ;

Также можно черех JS конфиг, но при каждом создании редактора, пришлось бы все время совершать лишние телодвижения, от которых хочется избавится.

Для этого можно сделать такой трюк, копируем файл sfRichTextEditorFCK.class.php в каталог lib

cp symfony_dir/lib/helper/sfRichTextEditorFCK.class.php my_project/lib/

Добавляем в файл my_project/lib/sfRichTextEditorFCK.class.php, строку

CKFinder::SetupFCKeditor($fckeditor) ;

В методе toHTML(), перед строкой

$content = $fckeditor->CreateHtml();

В итоге мы получаем:

CKFinder::SetupFCKeditor($fckeditor) ;

$content = $fckeditor->CreateHtml();

// fix for http://trac.symfony-project.com/ticket/732
// fields need to be of type text to be picked up by fillin. they are hidden by inline css anyway:
//
<input id="name" style="display:none" name="name" type="hidden" value="<p>default</p> <p>" />
$content = str_replace('type="hidden"','type="text"',$content);

return $content;
}

Такимже образом можно добавить другие глобальные настройки редактора, для дальнейшего использования. Например, в редактор можно добавить стили сайта:

$fckeditor->Config['EditorAreaCSS']='/css/main.css,/css/inner.css';
$fckeditor->Config['EditorAreaStyles']='body{ padding: 10px; }';

P.S. Есть еще способ, через конфиги, но так мне было сделать проще и удобней.
P.P.S Любой критике в комментах, буду благодарен, так как не считаю себя знатоком symfony.

Reader's Comments

  1. Pion2er |

    Ты бы Жека поподробнее написал где ты все это правишь? Это к вордпрессу относится? или что-то свое?

  2. admin |

    Это все относится к фреймворку под названием Symfony http://www.symfony-project.org

Оставьте комментарий