Дай, думаю, черкну несколько строк о том чем я занимаюсь, а то тишина в блоге :).
Недавно создал простенький бандл для подключения TinyMCE к Symfony2 проектам. Называется он TinymceBundle и лежит на гитхабе.
Установка
1. Тянем исходники:
git submodule add git://github.com/stfalcon/TinymceBundle.git vendor/bundles/Stfalcon/Bundle |
2. Добавляем путь к пространству имен в автозагрузчик:
// app/autoload.php $loader->registerNamespaces(array( // ... 'Stfalcon' => __DIR__.'/../vendor/bundles', )); |
3. Инициализируем бандл в AppKernel:
public function registerBundles() { $bundles = array( // ... new Stfalcon\Bundle\TinymceBundle\StfalconTinymceBundle(), ); } |
4. Копируем ресурсы в директорию web
php app/console assets:install web |
Настройка
Пример конфига бандла:
// app/config.yml stfalcon_tinymce: mode: "textareas" theme: "advanced" theme_advanced_buttons1: "mylistbox,mysplitbutton,bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,undo,redo,link,unlink" theme_advanced_buttons2: "" theme_advanced_buttons3: "" theme_advanced_toolbar_location: "top" theme_advanced_toolbar_align: "left" theme_advanced_statusbar_location: "bottom" plugins: "fullscreen" theme_advanced_buttons1_add: "fullscreen" |
При инициализации TinyMCE это принимает следующий вид:
<script type="text/javascript"> tinyMCE.init({ mode: "specific_textareas", theme: "advanced", plugins: "fullscreen", theme_advanced_buttons1: "mylistbox,mysplitbutton,bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,undo,redo,link,unlink", theme_advanced_buttons2: "", theme_advanced_buttons3: "", theme_advanced_toolbar_location: "top", theme_advanced_toolbar_align: "left", theme_advanced_statusbar_location: "bottom", theme_advanced_buttons1_add: "fullscreen", }); </script> |
Для того, чтобы этот код появился на странице, нужно поместить в шаблон один из следующих вариантов вызова:
{% render "StfalconTinymceBundle:Script:init" %} |
{{ tinymce_init() }} |
Второй вариант реализовал Игор Негруца, за что ему отдельная благодарность 😉
Сейчас думаем каким образом сделать инициализацию TinyMCE для отдельных полей. Если есть мысли – высказывайте 🙂
Каким образом происходит подключение скриптов и стилей? За счет каких настроек или команды?