Docs RU

Version 1 (Troex Nevelin, 18.03.2010 08:23)

1 1
h1. Документация
2 1
3 1
elRTE и elFinder могут быть подключены 3 способами:
4 1
* Редактор вместе с elFinder или другим файловым менеджером
5 1
* Редактор без файлового менеджера
6 1
* Файловый менеджер отдельно для управления файлами на удаленном сервере
7 1
8 1
Подключение jquery, jquery-ui и плагинов jquery.form и jquery.metadata:
9 1
10 1
jquery и jquery-ui необходимы для elRTE и elFinder.
11 1
jquery.form и jquery.metadata необходимы для elFinder.
12 1
<pre>
13 1
<script src="js/jquery.min.js" type="text/javascript" charset="utf-8"><script>
14 1
<script src="js/jquery-ui.min.js" type="text/javascript" charset="utf-8"><script>
15 1
<link rel="stylesheet" href="css/ui-themes/base/ui.all.css"  type="text/css" media="screen" charset="utf-8">
16 1
<script src="js/jquery.form.js" type="text/javascript" charset="utf-8"><script>
17 1
<script src="js/jquery.metadata.js" type="text/javascript" charset="utf-8"><script>
18 1
</pre>
19 1
20 1
Если вы не используете в своем проекте jquery-ui в полном объеме, можно собрать минимальную версию jquery-ui, включающую только dialog и tabs.
21 1
22 1
h2. Подключение elRTE и elFinder
23 1
24 1
Подключаем jquery, jquery-ui и плагины, как показано выше. Подключаем elRTE и elFinder одним файлом:
25 1
<script src="js/elrtefinder.min.js" type="text/javascript" charset="utf-8"><script>
26 1
<link rel="stylesheet" href="css/elrtefinder.full.css"  type="text/css" media="screen" charset="utf-8">
27 1
Создаем редактор:
28 1
<pre>
29 1
<script type="text/javascript" charset="utf-8">
30 1
	$().ready(function() {
31 1
		var opts = {
32 1
			lang : 'ru',
33 1
			styleWithCss : false,
34 1
			height  : 400,
35 1
			toolbar : 'maxi',
36 1
			fmAllow  : true,
37 1
			fmOpen   : function(callback) {
38 1
				$('<div />').elfinder({
39 1
					url : 'connector/connector.php',
40 1
					lang : 'en',
41 1
					dialog : { width : 900, modal : true },
42 1
					editorCallback : callback
43 1
				})
44 1
			}
45 1
		};
46 1
		// создаем редактор
47 1
		$('#our-element').elrte(opts);
48 1
49 1
		// или так
50 1
		var editor = new elRTE(document.getElementById('our-element'), opts);
51 1
	});
52 1
<script>
53 1
</pre>
54 1
#our-element - id элемента, на котором будет создан редактор.
55 1
Может быть textarea или любым html элементом, содержащем текст (будет заменен на textarea перед отправкой формы)
56 1
57 1
h2.Опции elRTE
58 1
59 1
doctype: doctype окна редактора (iframe). По умолчанию - HTML 4.01 Transitional
60 1
cssClass: класс для редактора
61 1
cssfiles: массив url css файлов, подключаемых в окно редактора (iframe)
62 1
absoluteURLs: false/true. Приводить адреса ссылок и изображений к абсолютным
63 1
allowSource: false/true. Разрешает редактирование HTML
64 1
lang - язык интерфейса (требует подключения языковых файлов, если язык отличен от английского)
65 1
styleWithCss - если true - текст будет оформляться тегами span с аттрибутом style, в противном случае - семантическими тегами strong, em и тд
66 1
height - высота окна редактора в пикселях
67 1
fmAllow - разрешить использование файлового менеджера
68 1
fmOpen - функция, которая будет вызвана, чтобы открыть файловый менеджер.
69 1
Аргумент callback - функция, которую редактор передает файловому менеджеру при открытии. Файловый менеджер должен вызвать эту функцию, передав ей url выбранного файла
70 1
toolbar - имя панели инструментов. Панели состоят из именованных групп кнопок. Редактор содержит некоторое кол-во предопределенных панелей инструментов. Если необходим набор кнопок, которого нет в предопределенных панелях, вы можете определить свои собственные группы кнопок и панелей.
71 1
buttons: имена кнопок (должен быть дополнен при добавлении новых кнопок)
72 1
panels: Объект. Ключ - имя группы, значение - массив кнопок в этой группе
73 1
toolbars: Объект. Ключ - имя панели инструментов, значение - массив групп кнопок в него входящих.
74 1
На данный момент существуют следующие toolbars:
75 1
tiny: только кнопки изменения стиля текста (жирный, наклонный, подчеркнутый, перечеркнутый, subscript, superscript)
76 1
compact: тоже, что и tiny + сохранить, отмена/повтор, выравнивание, списки, ссылки, полноэкранный режим
77 1
normal: тоже, что и compact + копировать/вставить, цвета, отступы, элементы, изображения
78 1
complite: тоже, что и normal + форматирование, размер и стиль шрифта
79 1
maxi: тоже, что и complite + таблицы
80 1
Создание своего toolbar для редактора
81 1
82 1
Способ 1. После подключения файлов elRTE:
83 1
<script type="text/javascript" charset="utf-8">
84 1
elRTE.prototype.options.toolbars.newToolbar = [
85 1
	// имена групп кнопок на нашем toolbar (см src/elrte/elRTE.options.js)
86 1
	'save', 'copypaste', 'style', 'colors', 'tables', 'fullscreen'
87 1
];
88 1
<script>
89 1
Теперь, при создания редактора в параметре toolbar передаем имя нашей панели инструментов.
90 1
91 1
Способ 2. Во время создания нового редактора:
92 1
<script type="text/javascript" charset="utf-8">
93 1
var opts = {
94 1
	...
95 1
	toolbars : {
96 1
		newToolbar : ['save', 'copypaste', 'style', 'colors', 'tables', 'fullscreen']
97 1
	},
98 1
	toolbar : 'newToolbar',
99 1
	...
100 1
	}
101 1
};
102 1
// создаем редактор
103 1
$('#our-element').elrte(opts);
104 1
105 1
<script>
106 1
Подключение elRTE без файлового менеджера:
107 1
108 1
Подключаем jquery, jquery-ui, как показано выше.
109 1
Подключаем elRTE так же, как в предыдущем примере. Вместо elrtefinder.min.js и elrtefinder.min.css используем elrte.min.js и elrte.min.css соответственно. Настраиваем и создаем редактор, так же, как в предыдущем примере, не указывая опции fmAllow и fmOpen.
110 1
Подключение elFinder без elRTE
111 1
112 1
Подключаем jquery, jquery-ui и плагины, как показано выше.
113 1
Подключаем elFinder:
114 1
<script src="js/elfinder.min.js" type="text/javascript" charset="utf-8"><script>
115 1
<link rel="stylesheet" href="css/elfinder.full.css"  type="text/css" media="screen" charset="utf-8">
116 1
Создаем файловый менеджер на странице:
117 1
<script type="text/javascript" charset="utf-8">
118 1
	$().ready(function() {
119 1
		$('#our-element').elfinder({
120 1
			url  : 'connector/connector.php',
121 1
			lang : 'ru'
122 1
		});
123 1
	});
124 1
<script>
125 1
Или при клике на элементе - открываем его в диалоговом окне:
126 1
<script type="text/javascript" charset="utf-8">
127 1
	$().ready(function() {
128 1
		$('#our-element').click(function() {
129 1
			$('<div />').elfinder({
130 1
				url : 'connector/connector.php',
131 1
				lang : 'en',
132 1
				dialog : { width : 900, modal : true }
133 1
			})
134 1
		});
135 1
	});
136 1
<script>
137 1
Для работы elFInder необходмо настроить его connector. В connector.php, изменяем переменную $opts под наши нужды:
138 1
$opts = array(
139 1
	'root'   => Путь_к_директории_с_файлами,
140 1
	'URL'    => URL_директории_с_файлами,
141 1
	'tplDir' => realpath(dirname(__FILE__).DIRECTORY_SEPARATOR.'tpl'), //измените, если перенесли шаблоны в другое место
142 1
	'lang'   => 'en', // язык интерфейса
143 1
	'defaults' => array( // права доступа по умолчанию
144 1
		'read'  => true,
145 1
		'write' => false
146 1
		),
147 1
	'perms' => array( // права доступа к отдельным директориям (не обязательно)
148 1
		'абсолютный_путь_к_директории' => array(
149 1
			'read'  => true,
150 1
			'write' => true
151 1
			)
152 1
		),
153 1
	'acl' => $zendACLObject // объект Zend_ACL (если указан, 2 предыдущие опции игнорируются). Будет доступно в следующей версии.
154 1
	);
155 1
Опции elFinder
156 1
157 1
url: String. Aдрес коннектора. Обязательный параметр.
158 1
lang: String. Двухбуквенное обозначение языка интерфейса (требует подключения языковых файлов, если язык отличен от английского)
159 1
dialog: Object. Если содержит объект со свойствами - открывается в диалоговом окне. Опции - см jquery-ui dialog. По умолчанию - null (файловый менеджер создается на странице)
160 1
height: Number. Высота окна файлового менеджера в px, По умолчанию - 450
161 1
editTextFiles: false/true. Разрешает редактирование текстовых файлов. По умолчанию - false
162 1
editorCallback: function. Вызывается редактором при выборе файла. Аргумент - URL выбранного файла (editorCallback : function(url) {window.console.log(url) })