Как подключить FCKeditor
Как подключить FCKeditor
Для начала вам потребуется скачать последний релиз FCKeditor. Разархивируйте скачанный файл и поместите его в папку fckeditor (которую предварительно надо создать в root папке приложения). Далее необходимо скачать Yii FCKeditor extension (расширение) и разархивировать его в папку protected/extensions/fckeditor
Читать дальше "Как подключить FCKeditor"
UPD: рецепт добавлен на yiiframework.ru: http://yiiframework.ru/doc/cookbook/ru/form.fckeditor
Читать дальше "Как подключить FCKeditor"
UPD: рецепт добавлен на yiiframework.ru: http://yiiframework.ru/doc/cookbook/ru/form.fckeditor
Мой маленький блог - http://dbhelp.ru
Re: Как подключить FCKeditor
Пожалуй, пора обновить статью, ибо со свежими версиями (на момент написания это Yii 1.1.6 и CKEditor 3.5.2), приведенный в ней код не работает.
Сначала я пользовался материалами вот отсюдова
Но потом, всё же решил воспользоваться расширением, предложенным в статье. Для этого, мне пришлось его немного перепилить.
А именно, в виде, к которому необходимо подключить редактор (я подключал его для создания\обновления постов в демо-блоге):
В файле расширения (FCKEditorWidget.php):
И в виде расширения (fCKEditorWidget.php):
Увы, пришлось урезать почти весь функционал, который настраивался со старой версией. Впрочем, возможно, теперь необходимые настройки можно передавать в массиве $config. С этим я пока не разбирался.
Сначала я пользовался материалами вот отсюдова
Но потом, всё же решил воспользоваться расширением, предложенным в статье. Для этого, мне пришлось его немного перепилить.
А именно, в виде, к которому необходимо подключить редактор (я подключал его для создания\обновления постов в демо-блоге):
Код: Выделить всё
<?php $this->widget('ext.fckeditor.FCKEditorWidget', array(
"model"=>$model,
"attribute"=>'content',
"fckeditor"=>Yii::app()->basePath."/../ckeditor/ckeditor.php",
"fckBasePath"=>Yii::app()->baseUrl."/ckeditor/",
"config" => array(
"EditorAreaCSS"=>Yii::app()->baseUrl.'/css/index.css',),
));?>
Код: Выделить всё
class FCKEditorWidget extends CInputWidget
{
public $fckeditor;
public $fckBasePath;
public $config;
public function run()
{
if (!isset($this->fckeditor)){
throw new CHttpException(500,'Parameter "fckeditor" has to be set!');
}
if (!isset($this->fckBasePath)){
throw new CHttpException(500,'Parameter "fckBasePath" has to be set!');
}
if (!$this->hasModel() && !isset($this->name)) {
throw new CHttpException(500,'Parameters "model" and "attribute" or "name" have to be set!');
}
$this->render('fCKEditorWidget',array(
"fckeditor"=>$this->fckeditor,
"fckBasePath"=>$this->fckBasePath,
"model"=>$this->model,
"attribute"=>$this->attribute,
"name"=>$this->name,
"value"=>$this->value,
"config"=>$this->config,
));
}
}
Код: Выделить всё
require_once($fckeditor);
if (!empty($model) && !empty($attribute))
{
$oFCKeditor = new CKeditor(get_class($model).'['.$attribute.']');
}
$oFCKeditor->basePath = $fckBasePath;
$oFCKeditor->editor($name,$value,$config);
десу же
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Как подключить FCKeditor
FCKeditor и CKeditor — это разные редакторы.
Нравится Yii? Давайте сделаем его лучше!.
-
- Сообщения: 1428
- Зарегистрирован: 2009.08.20, 22:54
- Откуда: Молдова, Бельцы
- Контактная информация:
Re: Как подключить FCKeditor
Есть быть поточнее - то CKEditor - это следующая версия FCKEditor.
Re: Как подключить FCKeditor
Согласен.Sam Dark писал(а):FCKeditor и CKeditor — это разные редакторы.
И всё же по ссылке, приведенной в статье, переход осуществляется на страницу загрузки именно CKeditor.
Ну вообще да, я немного слышал обо всей этой истории, с превратным пониманием буквосочетания fck и последующим переименованием продукта. Но всё же, думаю, есть смысл внести какие-либо изменения в статью, или хотя бы не удалять мой пост ^^, что бы новички, такие как я, могли быстрее разобраться.
десу же
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Как подключить FCKeditor
Нет. CK — это не просто следующая версия. Там внутри всё по-другому. Совсем.
Нравится Yii? Давайте сделаем его лучше!.
Re: Как подключить FCKeditor
Это я заметил, потому что пришлось немного поковырять внутренности обоих продуктов.
Но меня больше волнует другое - стоит ли искать более старый продукт(я не исключаю, что он может быть не хуже релизного) и пользоваться им, или пытаться найти другие пути подключения нового редактора? А может вообще перейти на тинимце?)
Это я к тому, что если целью рецептов является знакомство с некоторыми возможностями Yii, было бы не плохо, что бы код в них работал без последующей доработки.
Но меня больше волнует другое - стоит ли искать более старый продукт(я не исключаю, что он может быть не хуже релизного) и пользоваться им, или пытаться найти другие пути подключения нового редактора? А может вообще перейти на тинимце?)
Это я к тому, что если целью рецептов является знакомство с некоторыми возможностями Yii, было бы не плохо, что бы код в них работал без последующей доработки.
десу же
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Как подключить FCKeditor
http://code.google.com/p/yiiext/source/ ... 2Fckeditor
если там не посл версия, то пытайтесь достучаться до автора, и он обновит виджет, зачем старые формы?
если там не посл версия, то пытайтесь достучаться до автора, и он обновит виджет, зачем старые формы?
Жду Yii 3!
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Как подключить FCKeditor
Еще есть другой редактор
http://code.google.com/p/yiiext/source/ ... viRedactor
Мне он больше нравится. Он вроде проще, но пока хватает.
http://code.google.com/p/yiiext/source/ ... viRedactor
Мне он больше нравится. Он вроде проще, но пока хватает.
Жду Yii 3!
Re: Как подключить FCKeditor
Вот спасибо, хорошо. Для большинства нужд вполне достаточно. И сделан очень даже ничего себе. Особенно хорошо смотрится, если использовать тему, предложенную в книжке по Yii.mc-bear писал(а):Еще есть другой редактор
http://code.google.com/p/yiiext/source/ ... viRedactor
Мне он больше нравится. Он вроде проще, но пока хватает.
А это я не понял. Какие формы? Это ведь, кажется, то самое расширение, о котором рассказывается в этой статье (я давал на неё линк, в первом сообщении этого треда)mc-bear писал(а):http://code.google.com/p/yiiext/source/ ... 2Fckeditor
если там не посл версия, то пытайтесь достучаться до автора, и он обновит виджет, зачем старые формы?
А вообще, вы пожалуйста не думайте, что я чем-то недоволен. Наоборот, я очень благодарен всем, кто принимал участие в создании русскоязычного сообщества и переводе статей. У меня хоть и нет проблем с английским, но практика показывает, что русский текст я воспринимаю гораздо быстрее. Особенно, некоторые трудные для меня темы.
Просто мне, как новичку, иногда сложно бывает, что-то починить, если не работает так как написано, хотя опытным разработчикам, я уверен, кажется, что не стоит даже объяснять как переделать, что бы работало. И случай с этой статьей пока единственный. Если, конечно, не считать руководства по созданию блога, которое довольно странно составлено.
десу же
-
- Сообщения: 1428
- Зарегистрирован: 2009.08.20, 22:54
- Откуда: Молдова, Бельцы
- Контактная информация:
Re: Как подключить FCKeditor
Хорошо, достучались. Попробую на выходных этим заняться. Понравилась статья о моих расширениях )
-
- Сообщения: 350
- Зарегистрирован: 2009.09.17, 16:47
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Как подключить FCKeditor
Автор той статьи я, написана она была по горячим следам полуночного прикручивания к проекту, поэтому возможно что-то упустил из виду)
Предупрежден - значит вооружен.
devKP.ru
devKP.ru
Re: Как подключить FCKeditor
О, все собрались))
Но я же никаких предъяв. Просто хотел сообщить что рецепт не совсем работает, хотя если погуглить, легко найти решение.
Так что спасибо всем, кто отозвался. Много опыта приобрел. И да - жду обновленного расширения)
Но я же никаких предъяв. Просто хотел сообщить что рецепт не совсем работает, хотя если погуглить, легко найти решение.
Так что спасибо всем, кто отозвался. Много опыта приобрел. И да - жду обновленного расширения)
десу же
- pls-kick-me
- Сообщения: 42
- Зарегистрирован: 2011.02.05, 22:39
- Откуда: Украина, Донецк
Re: Как подключить FCKeditor
Примерно теже проблемы и главная: не отображается CKeditor. Вот какой код на странице вместо него
<textarea id="Post_content" style="width: 100%; height: 400px; visibility: hidden; " cols="40" rows="10" name="Post[content]"/>
Код в view:
Может кто то встречался с подобной проблемой ? (А то уже каша в голове от FCKeditor, CKeditor и ЕCKeditor)
<textarea id="Post_content" style="width: 100%; height: 400px; visibility: hidden; " cols="40" rows="10" name="Post[content]"/>
Код в view:
Код: Выделить всё
<?php $this->widget('application.extensions.ckeditor.CKEditor', array(
'model'=>$model,
'attribute'=>'content',
'language'=>'en',
'editorTemplate'=>'full',
)); ?>
Yes I'm Insistent
- pls-kick-me
- Сообщения: 42
- Зарегистрирован: 2011.02.05, 22:39
- Откуда: Украина, Донецк
Re: Как подключить FCKeditor
хмм, вырезал содержимое папки ckeditor на уровень выше и путь сделал
заработало...
Код: Выделить всё
<?php $this->widget('application.extensions.CKEditor', array(
Yes I'm Insistent
Re: Как подключить FCKeditor
Я подключал редактор, расширив CHtml
поступил так потому что viewtopic.php?f=4&t=3932
поступил так потому что viewtopic.php?f=4&t=3932
Код: Выделить всё
<?php
class ExtHtml extends CHtml
{
public static function activeCKEditor($model,$attribute,$htmlOptions=array())
{
self::resolveNameID($model,$attribute,$htmlOptions);
self::clientChange('change',$htmlOptions);
if($model->hasErrors($attribute))
self::addErrorCss($htmlOptions);
$text=self::resolveValue($model,$attribute);
include_once "ckeditor/ckeditor.php";
$CKEditor = new CKEditor();
$CKEditor->basePath = '/ckeditor/';
$CKEditor->editor($htmlOptions['name'], $text);
}
}
?>
Re: Как подключить FCKeditor
Как подключить FCKeditor? Что должно стоять в строке
"model"=>$pages, ? Название моей модели Subsection. Файл называетя protected/models/Subsection.php.
Получаю предупреждение
Parameters "model" and "attribute" or "name" have to be set!
"model"=>$pages, ? Название моей модели Subsection. Файл называетя protected/models/Subsection.php.
Получаю предупреждение
Parameters "model" and "attribute" or "name" have to be set!
Последний раз редактировалось Granny 2012.10.19, 18:31, всего редактировалось 1 раз.
Ну разве это много, xочу чтоб мой портрет застенчиво и строго смотрел со всех газет.
Re: Как подключить FCKeditor
Как подключить FCKeditor? Что должно стоять в строке
"model"=>$pages, ? Ответ на мой собственный вопрос.
Правильно:
"model"=>$model,
Я пытаюсь подключить FCKeditor следуя инструкции
http://yiiframework.ru/doc/cookbook/ru/form.fckeditor
1. "Для начала вам потребуется скачать последний релиз FCKeditor."
Я следуя ссылки попадаем на сайт CKeditor, а не FCKeditor.
Скачиваю версию CKEditor 3.6.5.
2. " Разархивируйте скачанный файл и поместите его в папку fckeditor (которую предварительно надо создать в корневой папке приложения)."
Я разархивировала CKEditor 3.6.5 и поместила дирректорию ckeditor в корневую дирректорию
assets
css
protected
ckeditor
. . ckeditor.php
themes
3. И закомментировала в view/subsection/_form.php
строчки
3. "Далее необходимо скачать расширение Yii fckeditor-integration и разархивировать его в папку protected/extensions/fckeditor."
Я скачала расширение ckeditor.zip с
http://www.yiiframework.com/extension/c ... ntegration
и поместила дирректорию ckeditor в папку protected/extensions/
protected
. extensions
. . ckeditor
. . . CKEditorWidget.php
. . . README.txt
4. Создала таблицу subsection c двумя столбцами
TABLE subsection
id INT(11) AUTO_INCREMENT PRIMARY KEY,
section TEXT
5. Через gii создала model и CRUD.
Model generator
-------------------------------
Table name subsection
Model class Subsection
--------------------------------
CRUD generator
-------------------------------
Model class Subsection
ControllerID subsection
6. В view/subsection/_form.php
после виджета CActiveForm добавила виджет CKEditorWidget
7. Я изменила
"model"=>$pages,
на
"model"=>$model,
"attribute"=>'content',
на
"attribute"=>'section',
"model"=>$pages, ? Ответ на мой собственный вопрос.
Правильно:
"model"=>$model,
Я пытаюсь подключить FCKeditor следуя инструкции
http://yiiframework.ru/doc/cookbook/ru/form.fckeditor
1. "Для начала вам потребуется скачать последний релиз FCKeditor."
Я следуя ссылки попадаем на сайт CKeditor, а не FCKeditor.
Скачиваю версию CKEditor 3.6.5.
2. " Разархивируйте скачанный файл и поместите его в папку fckeditor (которую предварительно надо создать в корневой папке приложения)."
Я разархивировала CKEditor 3.6.5 и поместила дирректорию ckeditor в корневую дирректорию
assets
css
protected
ckeditor
. . ckeditor.php
themes
3. И закомментировала в view/subsection/_form.php
строчки
Код: Выделить всё
#Optional address settings if you did not copy ckeditor on application root
//"ckEditor"=>Yii::app()->basePath."\ckeditor\ckeditor.php",
# Path to ckeditor.php
//"ckBasePath"=>Yii::app()->baseUrl."/ckeditor/",
# Realtive Path to the Editor (from Web-Root)
Я скачала расширение ckeditor.zip с
http://www.yiiframework.com/extension/c ... ntegration
и поместила дирректорию ckeditor в папку protected/extensions/
protected
. extensions
. . ckeditor
. . . CKEditorWidget.php
. . . README.txt
4. Создала таблицу subsection c двумя столбцами
TABLE subsection
id INT(11) AUTO_INCREMENT PRIMARY KEY,
section TEXT
5. Через gii создала model и CRUD.
Model generator
-------------------------------
Table name subsection
Model class Subsection
--------------------------------
CRUD generator
-------------------------------
Model class Subsection
ControllerID subsection
6. В view/subsection/_form.php
после виджета CActiveForm добавила виджет CKEditorWidget
Код: Выделить всё
<?php $this->widget('ext.ckeditor.CKEditorWidget',array(
"model"=>$model, # Data-Model
"attribute"=>'section', # Attribute in the Data-Model
"defaultValue"=>"Test Text", # Optional
# Additional Parameter (Check http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html)
"config" => array(
"height"=>"400px",
"width"=>"100%",
"toolbar"=>"Basic",
),
#Optional address settings if you did not copy ckeditor on application root
//"ckEditor"=>Yii::app()->basePath."\ckeditor\ckeditor.php",
# Path to ckeditor.php
//"ckBasePath"=>Yii::app()->baseUrl."/ckeditor/",
# Realtive Path to the Editor (from Web-Root)
) );?>
"model"=>$pages,
на
"model"=>$model,
"attribute"=>'content',
на
"attribute"=>'section',
Ну разве это много, xочу чтоб мой портрет застенчиво и строго смотрел со всех газет.
Re: Как подключить FCKeditor
Модам и мсье. Обьясните глупцу, для чего писать 10 строк кода виджета? Почему нельзя тупо подключить CKEditor посредством jQuery.ckeditor? К чему все эти сложности?
Если нужны в разных разделах разный набор тулбаров? ну создайте несколько шаблонов тулбаров. Бьюсь об заклад, у вас не выйдет более 5.
Если нужны в разных разделах разный набор тулбаров? ну создайте несколько шаблонов тулбаров. Бьюсь об заклад, у вас не выйдет более 5.
-
- Сообщения: 1428
- Зарегистрирован: 2009.08.20, 22:54
- Откуда: Молдова, Бельцы
- Контактная информация:
Re: Как подключить FCKeditor
1. Виджет можно использовать в построителе форм
2. Так как виджет ответственен за подключение редактора, то в случае ошибок легче локализировать место ошибки.
2. Так как виджет ответственен за подключение редактора, то в случае ошибок легче локализировать место ошибки.