как подключить tinymce

Привет. есть представление формы. на это поле хочу подключить редактор:


        <div class="row">

                <?php echo $form->label($model,'good_info'); ?>

                <?php echo $form->textArea($model,'good_info',array('rows'=>6, 'cols'=>50)); ?>

        </div>

в мануале http://www.yiiframew…ymce/#changelog написано не много:


<?php $this->widget('application.extensions.tinymce.ETinyMce', array('name'=>'html')); ?>

и мне не понятно как связать мой код с этим примером - как присваивается переменная содержимого, как переключиться в расширенный режим редактора и прочее.

сможет мне кто-нибудь пояснить?

Вот более полный пример для данного расширения:




<?php echo $form->labelEx($model, 'text'); ?>

<?php

$this->widget('application.extensions.tinymce.ETinyMce', array(

    'model'=>$model,

    'attribute'=>'text',

    'language'=>'ru',

    'htmlOptions'=>array('style'=>'width: 600px; height: 200px;')

));

?>



Список доступных свойств, которые можно указать во втором аргументе, можете посмотреть в самом файле ETinyMce.

а как быть если хочется получить список картинок из определенной папки при вставки имиджа. смотрел на http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/external_image_list_url но что-то ясней не стало.

поможет кто?

в сети много сообщений о сложностях с ETinyMce. может стоит использовать какойто другой редактор - лишь бы работала вставка картинок из генерируемого списка картинок папки. может посоветовать что-то?

Первое время я использовал ETinyMCE, но потом решил написать для себя гораздо более простую обертку для TinyMCE:

protected/extensions/tiny_mce/TinyMCE.php:




class TinyMCE extends CInputWidget

{

    public $editorOptions = array();

    

    public function run()

    {

        list($name, $id) = $this->resolveNameID();

        

        // Publishing assets.

        $dir = dirname(__FILE__);

        $assets = Yii::app()->getAssetManager()->publish($dir.DIRECTORY_SEPARATOR.'assets');

        $this->editorOptions['script_url'] = $assets.'/tiny_mce.js';

        

	// Registering javascript.

        $cs = Yii::app()->getClientScript();

	$cs->registerCoreScript('jquery');

        $cs->registerScriptFile($assets.'/jquery.tinymce.js');

        

        $cs->registerScript(

            'Yii.'.get_class($this).'#'.$id,

            '$(function(){$("#'.$id.'").tinymce('.CJavaScript::encode($this->editorOptions).');});'

        );

        

	$this->htmlOptions['id'] = $id;

        

        if($this->hasModel())

	    $html = CHtml::activeTextArea($this->model, $this->attribute, $this->htmlOptions);

	else

	    $html = CHtml::textArea($name, $this->value, $this->htmlOptions);

            

        echo $html;

    }

}



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

А при использовании такого подхода я просто качаю с официального сайта jQuery-версию TinyMCE, помещаю её в папку protected/extensions/tiny_mce/assets, а в представлении использую следующий код:




<?php $this->widget('application.extensions.tiny_mce.TinyMCE', array(

    'model'=>$model,

    'attribute'=>'text',

    'editorOptions'=>array(

        'language'=>'ru',


        'width'=>'100%',

        'height'=>'150px',

    ),

));

?>



вобщем остановился на FCKeditor - настраивается интуитивно. TinyMCE - это плохо.

Всегда использовал TinyMCE и не жалуюсь, так что не нужно таких категоричных суждений :)

конечно это мое мнение. что я пробовал:

  • сделать свой набор инструментов

  • свои шаблоны

  • список картинок из папки картинок при вставки имиджа

с fceditor - как делать стало понятно через полчаса

а с TinyMCE - пару месяцев периодически наскакивал и откатывался

но конечно никому ничего не навязываю