Oc-windows.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Скачать FCEditor на русском языке

Скачать FCEditor на русском языке

CKeditor — свободный WYSIWYG-редактор, который может быть использован на веб-страницах.
До версии 3.0 назывался FCKeditor («FCK» от имени создателя редактора, Frederico Caldeira Knabben), но сменил имя чтобы не ассоциироваться с распространённым в английском языке ругательством (при старте проекта бразилец Фредерико об этом не знал).

Особенностью редактора является малый размер без необходимости инсталляции на стороне клиента.

Редактор интегрирован с:
ASP.Net
ASP
ColdFusion
PHP
Java
JavaScript
Active-FoxPro
Lasso
Perl
Python

CKeditor совместим с большинством современных браузеров:
Opera 9.50+
Safari 3.0+
Firefox 1.5+
Camino 1.0+ (Mac)
Internet Explorer 5.5+
Google Chrome

в config.php менял только эти переменные:

$fckphp_config['basedir']=$_SERVER['DOCUMENT_ROOT'];
$fckphp_config['UserFilesPath'] = "app/webroot/img/issue" ;

настройки fckeditor.js — тоже целиком приводить? он же слишком большой?

Единственное "но" — IE (6.0.2800) — грузит и рефрешит
FF 1.5.0.6 — грузит картинку, файрбаг выдаёт ошибку в 108-й строке fckxml.js и не рефрешит страничку после загрузки.

В остальном — всё работает.

Цитата:

FF 1.5.0.6 — грузит картинку, файрбаг выдаёт ошибку в 108-й строке fckxml.js и не рефрешит страничку после загрузки.

Но файл нормально загружается на сервер. Это баг FF, который «проглядели» создатели mcpuk. Хотя, mcpuk довольно старая штука, давно не обновлялась — отсюда и некоторые проблемы.

Цитата:

почему-то перестали нормально кодироваться буквы "И" и буква "ш". Меняются на двубайтный код. Уж незнаю в чём дело, буду дальше разбираться.

Загружай файлы с английским названием.

// Translate the dialog box texts.
oEditor.FCKLanguageManager.TranslatePage(document) ;

function LoadTemplatesXml()
<
if ( !FCK._Templates )
<
GetE('eLoading').style.display = '' ;
alert( 'Testing the debug window' ) ;

// Create the Templates array.
FCK._Templates = new Array() ;

// Load the XML file.
var oXml = new oEditor.FCKXml() ;
oXml.LoadUrl( FCKConfig.TemplatesXmlPath ) ;
// Get the Images Base Path.
var oAtt = oXml.SelectSingleNode( 'Templates/@imagesBasePath' ) ;
var sImagesBasePath = oAtt ? oAtt.value : '' ;
// Get the "Template" nodes defined in the XML file.
var aTplNodes = oXml.SelectNodes( 'Templates/Template' ) ;
alert (aTplNodes.length)
for ( var i = 0 ; i < aTplNodes.length ; i++ )
<
var oNode = aTplNodes[i]

var oTemplate = new Object() ;

// Get the Template Title.
if ( oPart = oNode.attributes.getNamedItem('title') )
oTemplate.Title = oPart.value ;
else
oTemplate.Title = 'Template ' + ( i + 1 ) ;

и т.д.
в файле fckeditorcode_ie.js есть объявления классов с которыми работает вышепреведенный JavaScript:

Код:

var FCKXml=function()
<
this.Error=false;
>;
FCKXml.prototype.LoadUrl=function(A)
<
this.Error=false;
var B=FCKTools.CreateXmlObject('XmlHttp');
if (!B)
<
this.Error=true;
alert('can not create XML Object in fckeditorcode_ie.js ');
return;
>;
B.open("GET",A,false);
B.send(null);
if (B.status==200||B.status==304)
this.DOMDocument=B.responseXML;
else
if (B.status==0&&B.readyState==4)
<
this.DOMDocument=FCKTools.CreateXmlObject('DOMDocument');
this.DOMDocument.async=false;
this.DOMDocument.resolveExternals=false;
this.DOMDocument.loadXML(B.responseText);
>
else
<
this.Error=true;
alert('Error loading in fckeditorcode_ie"'+A+'"');
>
>;
FCKXml.prototype.SelectNodes=function(A,B)
<
if (this.Error) return new Array();
if (B) return B.selectNodes(A);
else return this.DOMDocument.selectNodes(A);>;
FCKXml.prototype.SelectSingleNode=function(A,B)
<
if (this.Error) return;
if (B) return B.selectSingleNode(A);
else
return this.DOMDocument.selectSingleNode(A);
>

Так вот, xml файл у меня пркрасно грузится в объект B , срабатывает условие

Код:

if (B.status==200||B.status==304)
this.DOMDocument=B.responseXML;

но переменные oAtt и aTplNodes получаются нулевой длины т.е. методы oXml.SelectSingleNode( 'Templates/@imagesBasePath' ) и oXml.SelectNodes( 'Templates/Template' ) возвращают ничего, следовательно список шаблонов не формируется.

Есть тут кто кто использует этот едитор в аsp.net и кто нажимал на кнопочку просмотреть на сервере в окошке, которое выскакивает после нажатия на иконку добавления картинки? Если вы при этом не получаете ошибку откликнетесь пожалуйста

возможно я покажусь кому-то идиотом.

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

то есть файлы никуда не заливаются, просматривать низзя.
в папке с файлами сделал папки Images, Files, Flash, Media

..filemanager/browser/default/connectors/test.html — енто не работает

. /editor/filemanager/upload/test.html — енто работает, заливает в папку UserFiles, но нормальный аплоадер не фурычит

в конфигах енейбл-тру поставил

в fckconfig.js поставил

var _FileBrowserLanguage = 'php' ;
var _QuickUploadLanguage = 'php' ;

include("./fckeditor/fckeditor.php");
$oFCKeditor->BasePath = '/fckeditor/' ;

в конфигах аплодера и коннектора

$Config['Enabled'] = True ;
$Config['UserFilesPath'] = '/UserFiles/' ;

Вопрос уже был на третьей странице. но так и остался без ответа.
Может кто подскажет все-таки? Буду очень признателен

Поставил я FCKeditor, все работает нормально.

Только вот не нашел в настройках, где поменять размер окна редактора, а то у меня узкая полоса, работать не возможно.

У меня вот такая проблемка.
Скачал FCKeditor 2.3.2.
Запускаю в баузере файл editor/fckeditor.html
А загружается только панелька с кнопками. без области для ввода. (

Выскакивает вот такая ошибка:
"FCK.LinkedField.value" — есть null или не является объектом

И ссылается вот на это место: (в файле editor\js\fckeditorcode_ie.js)

.
FCKTools.GetLinkedFieldValue=function()
<
return FCK.LinkedField.value;
>;
.

Вроде делаю все как нужно.

-в fckconfig.js поставил
var _FileBrowserLanguage = 'php' ;
var _QuickUploadLanguage = 'php' ;

-в конфигах аплодера и коннектора
$Config['Enabled'] = True ;
$Config['UserFilesPath'] = '/UserFiles/' ;

-создал папку UserFiles( в этой папке сделал папки Images, Files, Flash, Media)
такую папку создал и в корне сервера, и в папке сайта, и в папке FCKeditor.

Подключаем CKEditor к Laravel 5.1 и интегрируем в него файловый менеджер elFinder

Доброго времени суток. Как мы знаем без WYSIWYG редактора нам не создать хороший блог, не построить интернет-магазин, да и просто писать и редактировать статьи на сайт с помощью редактора удобней. Поэтому в данной статье я остановлюсь на подключении CKEditor к Laravel. Затем мы в него интегрируем файловый менеджер elFinder, который нам понадобиться для удобной вставки картинок и для загрузки этих самых картинок.

Подготовка.

Я не буду останавливаться на установке Laravel. Материала по данному вопросу в интернете достаточно. Давай те создадим view с названием main.blade.php в папке resources/views следующего содержания:

Тут мы подключили bootstrap, чтобы не останавливаться на верстке. И добавили элемент <textarea>, в который и вставим редактор CKEditor.

Теперь создадим роут, отредактируйте файл route.php, который находится в app/Http.

Проверим, перейдем на наш сайт. Вот как получилось у меня:

01

Отлично, теперь приступим к подключени CKEditor.

Подключение CKEditor.

Для начала нам необходимо скачать сам редактор. Скачать CKEditor можно с официального сайта.

02

Выбираем необходимый пакет и жмем «Download CKEditor». Я выбрал FullPackage.

Распаковываем скачанный архив в папку ckeditor. И переносим ее в наш проект в папку public/js

Вот как у меня выглядит структура:

03

Теперь можно подключить CKEditor. Для этого переходим в наш файл представления main.blade.php и вставляем следующую строку в секцию head

Все подключили, теперь нужно сам редактор инициализировать. Для этого в конец нашего представления вставляем:

Ну вот и все, мы с Вами подключили CKEditor на место нашего textarea. Обратите внимание, при инициализации редактора мы указали «editor1», что означает CKEditor будет отображаться в элементе с >

Читать еще:  Пошаговая инструкция конвертации DjVu в PDF

04

Отлично, теперь интегрируем файловый менеджер elFinder.

Интеграция файлового менеджера elFinder

Для интеграции elFinder мы воспользуемся пакетом barryvdh/laravel-elfinder. Как установить пакет данный пакет Вы можете посмотреть на github.

А вот на настройках я остановлюсь. Если Вы все сделали как описано документации, то у Вас должен появиться файл elfinder.php в папке config.

Допустим мы хотим чтобы файлы загружались в папку public/upload.

Отредактируем файл конфигурации следующим образом:

Тут в принципе и объяснять нечего, кроме свойства option. В которое мы добавили массив root. Массив root содержит еще один массив, где driver — указывает в нашем случае, что используется локальная файловая система, path — путь к нашим файлам, url — адрес для наших файлов.

С настройкой закончили, теперь для CKEditor нужно указать файловый менеджер. Для этого открываем файл представления main.blade.php и редактируем код инициализации CKEditor следующим образом:

Открываем на сайт и в редакторе выбираем «Вставить картинку»

05

Откроется диалог вставки, жмем «Выбор на сервере»

06

Откроется окно файлового менеджера elFinder. Как видим картинок у нас еще нет. Поэтому давайте загрузим картинку:

07

После того, как картинка будет успешно загружена, два раза кликаем по ней и в окне диалога вставки изображения мы можем данную картинку отредактировать, после чего жмем «Ok»:

09

Все наша картинка появилась в редакторе:

10

Как видите ничего сложного нет.

Но есть один подводный камень, с которым я столкнулся. У меня связка nginx — Apache. И nginx настроен таким образом: всю статику он кэширует, а динамический контент обрабатывает apache, который возвращает результат в nginx. Вот в такой ситуации возникает следующая ошибка при вызове elFinder.

11

Как решить данную проблему я уже расскажу в следующей статье. Так, что не пропускайте выхода новых статей.

django-ckeditor 6.1.0

File upload support has been moved to ckeditor_uploader. The urls are in ckeditor_uploader.urls, while for the file uploading widget you have to use RichTextUploadingField instead of RichTextField.

Django admin CKEditor integration. Provides a RichTextField, RichTextUploadingField, CKEditorWidget and CKEditorUploadingWidget utilizing CKEditor with image uploading and browsing support included.

This version also includes:

  1. support to django-storages (works with S3)
  2. updated ckeditor to version 4.14.1
  3. included all ckeditor language and plugin files to make everyone happy! ( only the plugins maintained by the ckeditor develops team )

Installation

Required

Install or add django-ckeditor to your python path.

Add ckeditor to your INSTALLED_APPS setting.

Run the collectstatic management command: $ ./manage.py collectstatic. This will copy static CKEditor required media resources into the directory given by the STATIC_ROOT setting. See Django’s documentation on managing static files for more info.

CKEditor needs to know where its assets are located because it loads them lazily only when needed. The location is determined in the ckeditor-init.js script. and defaults to static/ckeditor/ckeditor/. This does not work all the time, for example when using ManifestStaticFilesStorage, any asset packaging pipeline or whatnot. django-ckeditor is quite good at automatically detecting the correct place even then, but sometimes you have to hardcode CKEDITOR_BASEPATH somewhere. This can be hardcoded in settings, i.e.:

It is possible to override the admin/change_form.html template with your own if you really need to do this, i.e.:

Of course, you should adapt this snippet to your needs when using CKEditor outside the admin app.

Required for using widget with file upload

Add ckeditor_uploader to your INSTALLED_APPS setting.

Add a CKEDITOR_UPLOAD_PATH setting to the project’s settings.py file. This setting specifies a relative path to your CKEditor media upload directory. CKEditor uses Django’s storage API. By default, Django uses the file system storage backend (it will use your MEDIA_ROOT and MEDIA_URL) and if you don’t use a different backend you have to have write permissions for the CKEDITOR_UPLOAD_PATH path within MEDIA_ROOT, i.e.:

When using default file system storage, images will be uploaded to “uploads” folder in your MEDIA_ROOT and urls will be created against MEDIA_URL (/media/uploads/image.jpg).

If you want to be able to have control over filename generation, you have to add a custom filename generator to your settings:

CKEditor has been tested with django FileSystemStorage and S3BotoStorage. There are issues using S3Storage from django-storages.

For the default filesystem storage configuration, MEDIA_ROOT and MEDIA_URL must be set correctly for the media files to work (like those uploaded by the ckeditor widget).

Add CKEditor URL include to your project’s urls.py file:

Note that by adding those URLs you add views that can upload and browse through uploaded images. Since django-ckeditor 4.4.6, those views are decorated using @staff_member_required. If you want a different permission decorator (login_required, user_passes_test etc.) then add views defined in ckeditor.urls manually to your urls.py.

Optional — customizing CKEditor editor

Add a CKEDITOR_CONFIGS setting to the project’s settings.py file. This specifies sets of CKEditor settings that are passed to CKEditor (see CKEditor’s Setting Configurations), i.e.:

The name of the settings can be referenced when instantiating a RichTextField:

The name of the settings can be referenced when instantiating a CKEditorWidget:

By specifying a set named default you’ll be applying its settings to all RichTextField and CKEditorWidget objects for which config_name has not been explicitly defined

It is possible to create a custom toolbar

If you want or need plugins which are not part of django-ckeditor’s plugin set you may specify assets and plugins as follows:

Optional for file upload

All uploaded files are slugified by default. To disable this feature, set CKEDITOR_UPLOAD_SLUGIFY_FILENAME to False.

Set the CKEDITOR_RESTRICT_BY_USER setting to True in the project’s settings.py file (default False). This restricts access to uploaded images to the uploading user (e.g. each user only sees and uploads their own images). Upload paths are prefixed by the string returned by get_username. If CKEDITOR_RESTRICT_BY_USER is set to a string, the named property is used instead. Superusers can still see all images. NOTE: This restriction is only enforced within the CKEditor media browser.

Читать еще:  Vcomp140.dll скачать бесплатно

Set the CKEDITOR_BROWSE_SHOW_DIRS setting to True to show directories on the “Browse Server” page. This enables image grouping by directory they are stored in, sorted by date.

Set the CKEDITOR_RESTRICT_BY_DATE setting to True to bucked uploaded files by year/month/day.

You can set a custom file storage for CKEditor uploader by defining it under CKEDITOR_STORAGE_BACKEND variable in settings.

You can set CKEDITOR_IMAGE_BACKEND to one of the supported backends to enable thumbnails in ckeditor gallery. By default, no thumbnails are created and full-size images are used as preview. Supported backends:

  • pillow: Uses Pillow

With the pillow backend, you can change the thumbnail size with the CKEDITOR_THUMBNAIL_SIZE setting (formerly THUMBNAIL_SIZE). Default value: (75, 75)

With the pillow backend, you can convert and compress the uploaded images to jpeg, to save disk space. Set the CKEDITOR_FORCE_JPEG_COMPRESSION setting to True (default False) You can change the CKEDITOR_IMAGE_QUALITY setting (formerly IMAGE_QUALITY), which is passed to Pillow:

The image quality, on a scale from 1 (worst) to 95 (best). The default is 75. Values above 95 should be avoided; 100 disables portions of the JPEG compression algorithm and results in large files with hardly any gain in image quality.

This feature is disabled for animated images.

Usage

Field

The quickest way to add rich text editing capabilities to your models is to use the included RichTextField model field type. A CKEditor widget is rendered as the form field but in all other regards the field behaves like the standard Django TextField. For example:

For file upload support use RichTextUploadingField from ckeditor_uploader.fields.

Widget

Alternatively, you can use the included CKEditorWidget as the widget for a formfield. For example:

For file upload support use CKEditorUploadingWidget from ckeditor_uploader.widgets.

Overriding widget template

In Django 1.11 and 2.x for overriding ckeditor/widget.html you have two ways:

Place ckeditor/widget.html in BASE_DIR/templates

  • Change FORM_RENDERER to TemplateSettings.
  • Include templates folder in DIRS
  • Add 'django.forms' to INSTALLED_APPS.

Place ckeditor/widget.html in your_app/templates and place 'your_app' before 'ckeditor' and 'ckeditor_uploader' in INSTALLED_APPS.

Outside of django admin

When you are rendering a form outside the admin panel, you’ll have to make sure all form media is present for the editor to work. One way to achieve this is like this:

or you can load the media manually as it is done in the demo app:

When you need to render RichTextField’s HTML output in your templates safely, just use << content|safe >>, Django’s safe filter

Management Commands

Included is a management command to create thumbnails for images already contained in CKEDITOR_UPLOAD_PATH. This is useful to create thumbnails when using django-ckeditor with existing images. Issue the command as follows:

NOTE: If you’re using custom views remember to include ckeditor.js in your form’s media either through << form.media >> or through a <script> tag. Admin will do this for you automatically. See Django’s Form Media docs for more info.

Using S3

NOTE: django-ckeditor will not work with S3 through django-storages without this line in settings.py:

If you want to use allowedContent

To get allowedContent to work, disable stylesheetparser plugin. So include this in your settings.py.:

Plugins:

django-ckeditor includes the following ckeditor plugins, but not all are enabled by default:

The image/file upload feature is done by the uploadimage plugin.

Restricting file upload

  1. To restrict upload functionality to image files only, add CKEDITOR_ALLOW_NONIMAGE_FILES = False in your settings.py file. Currently non-image files are allowed by default.
  2. By default the upload and browse URLs use staff_member_required decorator — ckeditor_uploader/urls.py — if you want other decorators just insert two urls found in that urls.py and don’t include it.

Demo / Test application

If you clone the repository you will be able to run the ckeditor_demo application.

  1. pip install -r ckeditor_demo_requirements.txt
  2. Run python manage.py migrate
  3. Create a superuser if you want to test the widget in the admin panel
  4. Start the development server.

There is a forms.Form on the main page (/) and a model in admin that uses the widget for a model field. Database is set to sqlite3 and STATIC/MEDIA_ROOT to folders in temporary directory.

Running selenium test

You can run the test with python manage.py test ckeditor_demo (for repo checkout only) or with tox which is configured to run with Python 2.7 and 3.4.

Running code quality tests

Create a new virtualenv, install tox and run tox -e py27-lint to Flake8 (pep8 and other quality checks) tests or tox -e py27-isort to isort (import order check) tests

Troubleshooting

If your browser has problems displaying uploaded images in the image upload window you may need to change Django settings:

Настройка просмотра и загрузки файлов в FCKeditor

В данной статье описываются отдельные приемы настройки редактора FCKeditor и встроенного в него файлового браузера для управления загрузкой файлов на сервер. Эти приемы помогут лучше понять принципы работы редактора и более тесно интегрировать его в вашу CMS, заодно предотвратив возможные проблемы с безопасностью при использовании этого редактора.

Общую информацию о редакторе FCKeditor вы можете найти на его официальном сайте www.fckeditor.net. Вкратце: это WYSIWYG-редактор, написанный на JavaScript и поддерживающий работу с серверными скриптами на различных языках программирования (perl, php, python, asp). Далее везде я буду иметь ввиду язык php, однако все сказанное легко адаптируется для других языков. Редактор отлично работает в большинстве современных браузеров (IE 6 +, FF 1.5+, Opera 9.5), имеет богатый функционал и хорошо документированный код, что позволяет вносить в него правки для адаптации к конкретным требованиям CMS, в которой он используется. Это не реклама, а объяснение, почему я использую данный редактор и решил написать эту статью 🙂

Помимо всего прочего редактор позволяет вставлять в редактируемый текст различные объекты: изображения, Flash-ролики, мультимедиа-файлы, а также ссылки на произвольные файлы с сервера. Для этого используются два диалога: вставки и свойств объекта (на примере изображения, см. первый слайд) и браузер ресурсов (см. второй слайд). На слайдах я выделил органы управления, которые будут упоминаться в тексте. Диалог вставки вызывается при нажатии на кнопки вставки изображения, он реализует две важные для нас функции: загрузить файл изображения на сервер и вызвать окно браузера ресурсов. Возможность выполнения этих функций и ряд параметров (расположение загружаемых файлов на сервере, допустимые расширения файлов и т.п.) описываются в файлах конфигурации.

Читать еще:  Глючит сенсор на Андроиде: что делать

Вставка и редактирование свойств объекта

Диалог браузера ресурсов

Далее определимся: речь пойдет про FCKeditor версии 2.6.3, которая была последней на момент написания статьи.

Главный файл конфигурации редактора называется fckconfig.js и находится в корневом каталоге редактора (для определенности будем считать, что редактор у нас находится в подкаталоге /fcke/ корня сайта). В нем нас интересуют строки с 284 по 312, где описываются настройки загрузки файлов различных типов различным способом. Поля LinkBrowser, ImageВrowser и FlashBrowser определяют, будет ли в соответствующем диалоге отображаться кнопка «Просмотреть на сервере», открывающая диалог браузера ресурсов. Поля LinkUpload, ImageUpload, FlashUpload определяют наличие в соответствующем диалоге закладка «Закачать» для быстрой загрузки соответствующего файла. Установив нужные вам поля в false, вы отключите показ соответствующих элементов интерфейса.

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

Скрипты, управляющие просмотром и загрузкой файла на сервер, лежат в подпапке editor/filemanager/connectors/LANGUAGE , где LANGUAGE — язык скриптов на сервере. Мы, как я уже говорил, будем рассматривать настройки на примере PHP. Неиспользуемые коннекторы лучше вообще стереть из соображений безопасности и просто уменьшения занимаемого места. В каталоге коннектора лежит файл конфигурации, в нашем случае это config.php . Этот файл содержит все необходимое для настройки загрузки файлов.

1. Строка 30. Здесь главный «выключатель» коннектора, снабженный, как положено, грозным предупреждением, что включать его можно только все правильно настроив, иначе получите большую дыру в безопасности сайта. Чтобы коннектор вообще заработал, в этой строке, понятное дело, нужно написать = true.

2. Строка 34. Указывается относительный URL папки с ресурсами, управляемыми данным коннектором.

Здесь настало время разобраться, как нам управлять доступом к браузеру ресурсов в соответствии с правами посетителей сайта. Если мы используем редактор в однопользовательской CMS (когда все, кто смог получить доступ к каталогу редактора, имеют право грузить на сайт все, что угодно), то достаточно настроить все для администратора сайта и запретить доступ остальным (например, на уровне web-сервера). Но если редактор будет использоваться для написания записей в персональных блогах, то нужно во-первых запретить работу коннектора для неавторизованных пользователей, а во-вторых разделить папки для загрузки файлов разными пользователями.

Файл конфигурации используется при обращении web-страницы браузера ресурсов к коннектору. Поэтому единственным выходом будет включение в этот файл вызова вашего собственного скрипта, который будет проверять авторизацию пользователя (по cookie, например) и включать-выключать коннектор, а заодно указывать правильный путь.

Далее по по файлу.

3. Строка 40. Здесь указывается путь к той же папке с ресурсами, но с точки зрения файловой системы. Если оставить этот путь пустым, он будет определяться с помощью вызова функции из API web-сервера (в случае PHP это apache_lookup_uri, возвращающая информацию об объекте по заданному URI). Если у вас на сервере настроен mod_rewrite в каталоге, на который указывает ‘UserFilesPath’, нужно заполнить это поле т.к. запрос через web-сервер будет выполнен с учетом mod_rewrite и может привести совсем не туда, куда нужно.

4. Строка 54. Здесь перечисляются типы ресурсов, с которыми умеет работать браузер ресурсов. Запомните эти названия, они будут упоминаться в следующем блоке настроек.

  • ‘AllowedExtensions’ — расширения фалов, которые разрешено загружать на сервер для данного типа ресурсов. Тип ресурса, кстати, выбирается из списка в верхнем левом углу браузера ресурсов (см. второй слайд).
  • ‘DeniedExtensions’ — список расширений файлов, запрещенных для загрузки. Использовать имеет смысл только один из этих двух списков.

Далее идут настройки путей для размещения файлов. Видим, что настройки путей к каталогам формируются из глобальных путей (заданных в строках 34 и 40) добавлением к ним соответствующего подкаталога. Но ничто не мешает вам задать эти пути напрямую, строковыми константами. Кстати, глобальные путь больше ни для чего не используются, кроме формирования путей для каждого типа ресурса (это просто к сведению, чтобы вы не боялись менять их, как вам надо).

  • ‘FileTypesPath’ — это URL каталога, куда файл будет загружен через браузер ресурсов.
  • ‘FileTypesAbsolutePath’ — тот же каталог, с точки зрения файловой системы. Правила для этой настройки те же, что и для глобальной ‘UserFilesAbsolutePath’ — автоматический поиск пути, если вы ничего не зададите в этом поле.
  • ‘QuickUploadPath’ — URL каталога, в который файл будет загружен через вкладку «Закачать» диалога вставки объекта (ссылки, изображения, Flash-ролика).
  • ‘QuickUploadAbsolutePath’ — путь в файловой системе к тому же каталогу.

в конце файла настроек, а строки присваивания значения полям ‘QuickUploadPath’ и ‘QuickUploadAbsolutePath’ просто убрать. Иначе вы можете столкнуться с неприятным эффектом — загруженные через вкладку «Закачать» файлы не будут видны по кнопке «Просмотреть на сервере».

И напоследок небольшой бонус. Дело в том, что богатые функции браузера, встроенного в FCKeditor, можно использовать не только в редакторе, но и отдельно.

Для просмотра и управления файлами изображений необходимо создать окно (например, вызвав JavaScript-функцию window.open по нажатию кнопки), открыв в нем страницу со следующим URL: /fcke/editor/filemanager/browser/default/browser.html?Type=Image&Connector=../../connectors/php/connector.php

В открывающем окне должна быть JS-функция

которая будет вызвана, когда пользователь щелкнет на файле изображения, соответствующий URL будет передан в эту функцию.

Если вы хотите позволить пользователю просматривать все категории файлов, а не только изображения, уберите параметр Type=Image из приведенного выше URL браузера. Тогда в выпадающем списке типов файлов появятся все типы, перечисленные в файле конфигурации коннектора (строка 54).

Надеюсь, приведенная информация была вам полезна. Готов к конструктивному диалогу и обоснованной критике 🙂

Ссылка на основную публикацию
Adblock
detector
×
×