====== Пакет WYSIWYG ====== Пакет WYSIWYG предназначен для использования [[wp>Wysiwyg]] редакторов внутри WACT-шаблонов. В данный момент поддерживаются редакторы [[wp>CKeditor]], старый [[wp>FCKeditor]] и [[wp>TinyMCE]]. Пакет добавляет в набор тегов WACT и MACRO, новый тег wysiwig. То, какой на самом деле будет вставлен редактор, зависит от настроек. ===== Настройки ===== Настройки хранятся в файле ''wysiwyg.conf.php''. В настройках задаются профили редакторов, которые указываются в wysiwyg теге. Пример указания профиля в макро теге {{wysiwyg profile='tinymce' [...]/}} Пример простейшей настройки профилей 'ckeditor', 'ckeditor' => array( 'type' => 'ckeditor' ), 'tinymce' => array( 'type' => 'tinymce' ) ); Опция ''default_profile'' указывает на профиль по умолчанию. Каждый профиль конфигурируется дополнительными опциями, часть которых используется виджетом (см. как это работает), а другая часть передаётся непосредственно редактору. Настройки пакета по умолчанию из ''limb/wysiwyg/settings'': 'default_ckeditor', ''default_ckeditor' => array( 'type' => 'ckeditor', 'basePath' => '/shared/wysiwyg/ckeditor/', 'Config' => array( 'toolbar' => 'Full', 'uiColor' => '#9AB8F3', 'customConfig' => '/shared/wysiwyg/ckeditor/ckeditor_config.js', 'filebrowserBrowseUrl' => '/shared/wysiwyg/kcfinder/browse.php?type=files&opener=ckeditor', 'filebrowserImageBrowseUrl' => '/shared/wysiwyg/kcfinder/browse.php?type=images&opener=ckeditor', 'filebrowserFlashBrowseUrl' => '/shared/wysiwyg/kcfinder/browse.php?type=flash&opener=ckeditor', 'filebrowserUploadUrl' => '/shared/wysiwyg/kcfinder/upload.php?type=files&opener=ckeditor', 'filebrowserImageUploadUrl' => '/shared/wysiwyg/kcfinder/upload.php?type=images&opener=ckeditor', 'filebrowserFlashUploadUrl' => '/shared/wysiwyg/kcfinder/upload.php?type=flash&opener=ckeditor' ), ), 'default_fckeditor' => array( 'type' => 'fckeditor', 'width' => '600px', 'height' => '400px', 'cols' => '100', 'rows' => '15', 'Config' => array('CustomConfigurationsPath' => '/shared/wysiwyg/fckeditor/fckconfig.js'), 'ToolbarSet' => 'Default' ), 'default_tinymce' => array( 'type' => 'tinymce', 'width' => '600px', 'height' => '400px', 'cols' => 100, 'rows' => 15, 'base_path' => '/shared/wysiwyg/tiny_mce/', 'editor' => array( 'language' => 'en', 'mode' => "textareas", 'theme' => "advanced", ) ); :!: Как правило, разные профили используются для разных привилегий пользователя. Например, в административной зоне редактору нужны все средства редактора, а снаружи сайта, в поле для комментирования только ограниченный набор средств форматирования. Это нисколько не является обязательством, по этому разработчик может использовать другую удобную схему. ===== Теги ===== ==== MACRO-тег {{wysiwyg}} ==== [[limb3:ru:packages:macro:tags:wysiwyg_tags:lmb_wysiwyg_tag|Описание тега {{wysiwyg}}]] ==== WACT-тег ==== ===== Настройки редакторов ===== ==== Настройка CKEditor-а ==== ==== Настройка FCKEditor-а ==== Секция [FCKEditor] настроечного файла описывает, какой компонент будет реализовывать отображения редактора, а также задает наиболее важные настройки: * base_path - web-путь, где лежит fckeditor. * dir - абсолютный путь до места, где лежит fckeditor. * Config[%%CustomConfigurationsPath%%] - указывает на web-путь до файла, который определяет дополнительные настроки fckeditor-а. FCKEditor поставляется вместе с пакетом WYSIWYG и лежит в папке /shared/fckeditor. Обычно при разработке мы создаем или алиас на эту папку или же сим-линк: DocumentRoot /var/dev/project/www ServerName project.my_comp.bit Alias /shared/js /var/dev/limb/3.x/packages/js/shared Alias /shared/wysiwyg /var/dev/limb/3.x/packages/wysiwyg/shared Файл, который указан опцией Config[%%CustomConfigurationsPath%%] обычно содержит описание того, какие наборы инструментов будет содержат редактор и какие скрипты будут отвечать за загрузку и отображение файлов и изображений, например: var _FileBrowserLanguage = 'php' ; // asp | aspx | cfm | lasso | perl | php | py var _FileBrowserExtension = _FileBrowserLanguage == 'perl' ? 'cgi' : _FileBrowserLanguage ; FCKConfig.LinkBrowser = true ; FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ; FCKConfig.LinkBrowserWindowWidth = FCKConfig.ScreenWidth * 0.7 ; // 70% FCKConfig.LinkBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ; // 70% ... Подробная информация о настройке [[wp>FCKEditor]]'a находится на сайте проекта. По-умолчанию используется встроенный в FCKEditor браузер и аплоадер файлов, который лежит в папке limb/wysiwyg/shared/fckeditor/editor/filemanager/. ==== Настройка TinyMCE ==== ===== Как работает пакет ===== Каждому редактору соответствует класс, отнаследованный от ''lmbMacroBaseWysiwygWidget'' (в случае использования устаревшего WACT используется другой базовый класс), в котором метод ''renderWysiwyg()'' "рисует" редактор. Все виджеты зарегистрированы в ''lmbWysiwygConfigurationHelper''. При обработке в шаблоне тега [[limb3:ru:packages:macro:tags:wysiwyg_tags:lmb_wysiwyg_tag| {{wysiwyg}}]] с помощью ''lmbWysiwygConfigurationHelper'' подключается тот или иной виджет, отвечающий за указанный в атрибуте профиль и таким образом отрисовывается необходимый редактор с соответствующими настройками.