TinyMCE Manipulate class for php4
Представляю Вашему вниманию класс для гибких манипуляций с визуальным редактором TinyMCE.
Мотивы к написанию:
До последнего времени я использовал простую функцию, которая генерила код для инициализации TinyMCE., в зависимости от переданного в него id поля. Однако такой подход оказывается не оптимальным, когда на форме имеют место быть, два, а то и более экземпляров редактора. Еще хуже возникает ситуация, когда требуется динамически добавить новые настройки редактора. Для решения этих проблем мной и был написан этот класс.
Вид и логику разделять не стал, для соблюдения целостности. При желании можно добавить декораторы.
Написано под php4. В самое ближайше время сделаю более гибкое решение на php5.
Примеры использования:
Простой редактор:
require_once('inc/class.TinyMice.php');
$tinyMice = new TinyMice();
$tinyMice->setElement('canvas');
echo $tinyMice->init();
echo $tinyMice->render();
Расширенная версия:
$tinyMice->setElement(array('canvas2','canvas3'));
$tinyMice->setTheme('advanced');
echo $tinyMice->init();
echo $tinyMice->render();
Простая и расширенная версии на разные поля:
$tinyMice->setElement(array('canvas2','canvas3'));
$tinyMice->setTheme('advanced');
echo $tinyMice->init();
echo $tinyMice->render();
$tinyMice->setElement('canvas');
$tinyMice->setTheme('simple');
echo $tinyMice->render();
Уберем второй ряд кнопок:
И зададим формат тегов html вместо xHtml:
Все возможные параметры и настройки можно прочитать тут.
Чтобы дополнительные настройки использовать в теме «Simple», следует добавить их туда:
По умолчанию в теме «Simple», выводятся:
- mode
- language
- elements
- theme
Уберем кнопочку Save из панели инструментов, в полной версии
$tinyMice->removeArrayParam('theme_advanced_buttons1', 'save');
Фабрика:
echo $tinyMice->factory(array('canvas'=>'simple', 'canvas2'=>'advanced', 'canvas3'=>'advanced'), array('element_format'=>'html'));

