Дай, думаю, черкну несколько строк о том чем я занимаюсь, а то тишина в блоге :).
Недавно создал простенький бандл для подключения 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 для отдельных полей. Если есть мысли – высказывайте 🙂
Каким образом происходит подключение скриптов и стилей? За счет каких настроек или команды?