24 января 2009

TinyMCE Manipulate class for php4

Представляю Вашему вниманию класс для гибких манипуляций с визуальным редактором TinyMCE.

Мотивы к написанию:

До последнего времени я использовал простую функцию, которая генерила код для инициализации TinyMCE., в зависимости от переданного в него id поля. Однако такой подход оказывается не оптимальным, когда на форме имеют место быть, два, а то и более экземпляров редактора. Еще хуже возникает ситуация, когда требуется динамически добавить новые настройки редактора. Для решения этих проблем мной и был написан этот класс.

Вид и логику разделять не стал, для соблюдения целостности. При желании можно добавить декораторы.

Написано под php4. В самое ближайше время сделаю более гибкое решение на php5.

Примеры использования:


Простой редактор:

define('TINYMICE_URL', 'http://your-domain.com /js/tiny_mce/');
require_once('inc/class.TinyMice.php');
$tinyMice = new TinyMice();
$tinyMice->setElement('canvas');
echo $tinyMice->init();
echo $tinyMice->render();



Расширенная версия:

$tinyMice = new TinyMice();
$tinyMice->setElement(array('canvas2','canvas3'));
$tinyMice->setTheme('advanced');
echo $tinyMice->init();
echo $tinyMice->render();




Простая и расширенная версии на разные поля:

$tinyMice = new TinyMice();
$tinyMice->setElement(array('canvas2','canvas3'));
$tinyMice->setTheme('advanced');
echo $tinyMice->init();
echo $tinyMice->render();
$tinyMice->setElement('canvas');
$tinyMice->setTheme('simple');
echo $tinyMice->render();



Уберем второй ряд кнопок:

$tinyMice->setParam('theme_advanced_buttons3', '');


И зададим формат тегов html вместо xHtml:

$tinyMice->setParam('element_format', 'html');



Все возможные параметры и настройки можно прочитать тут.

Чтобы дополнительные настройки использовать в теме «Simple», следует добавить их туда:

$tinyMice->addSimpleParam('element_format')->setParam('element_format', 'html');



По умолчанию в теме «Simple», выводятся:

  • mode
  • language
  • elements
  • theme



Уберем кнопочку Save из панели инструментов, в полной версии

$tinyMice->setTheme('advanced');
$tinyMice->removeArrayParam('theme_advanced_buttons1', 'save');


Фабрика:

$tinyMice = new TinyMice();
echo $tinyMice->factory(array('canvas'=>'simple', 'canvas2'=>'advanced', 'canvas3'=>'advanced'), array('element_format'=>'html'));

Скачать class.TinyMce.rar
© Weltkind 2008
validator