Docs RU

Version 4 (Troex Nevelin, 18.03.2010 08:34)

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 2 Troex Nevelin
55 1
#our-element - id элемента, на котором будет создан редактор.
56 1
Может быть textarea или любым html элементом, содержащем текст (будет заменен на textarea перед отправкой формы)
57 1
58 3 Troex Nevelin
h2. Опции elRTE
59 3 Troex Nevelin
60 2 Troex Nevelin
*doctype* doctype окна редактора (iframe). По умолчанию - HTML 4.01 Transitional
61 2 Troex Nevelin
*cssClass* класс для редактора
62 2 Troex Nevelin
*cssfiles* массив url css файлов, подключаемых в окно редактора (iframe)
63 2 Troex Nevelin
*absoluteURLs* false/true. Приводить адреса ссылок и изображений к абсолютным
64 2 Troex Nevelin
*allowSource* false/true. Разрешает редактирование HTML
65 2 Troex Nevelin
*lang* язык интерфейса (требует подключения языковых файлов, если язык отличен от английского)
66 2 Troex Nevelin
*styleWithCss* если true - текст будет оформляться тегами span с аттрибутом style, в противном случае - семантическими тегами strong, em и тд
67 2 Troex Nevelin
*height* высота окна редактора в пикселях
68 2 Troex Nevelin
*fmAllow* разрешить использование файлового менеджера
69 1
*fmOpen* функция, которая будет вызвана, чтобы открыть файловый менеджер.
70 1
Аргумент callback - функция, которую редактор передает файловому менеджеру при открытии. Файловый менеджер должен вызвать эту функцию, передав ей url выбранного файла
71 3 Troex Nevelin
*toolbar* имя панели инструментов. Панели состоят из именованных групп кнопок. Редактор содержит некоторое кол-во предопределенных панелей инструментов. Если необходим набор кнопок, которого нет в предопределенных панелях, вы можете определить свои собственные группы кнопок и панелей.
72 3 Troex Nevelin
*buttons* имена кнопок (должен быть дополнен при добавлении новых кнопок)
73 3 Troex Nevelin
*panels* Объект. Ключ - имя группы, значение - массив кнопок в этой группе
74 3 Troex Nevelin
*toolbars* Объект. Ключ - имя панели инструментов, значение - массив групп кнопок в него входящих.
75 1
На данный момент существуют следующие toolbars:
76 4 Troex Nevelin
* tiny: только кнопки изменения стиля текста (жирный, наклонный, подчеркнутый, перечеркнутый, subscript, superscript)
77 4 Troex Nevelin
* compact: тоже, что и tiny + сохранить, отмена/повтор, выравнивание, списки, ссылки, полноэкранный режим
78 4 Troex Nevelin
* normal: тоже, что и compact + копировать/вставить, цвета, отступы, элементы, изображения
79 4 Troex Nevelin
* complite: тоже, что и normal + форматирование, размер и стиль шрифта
80 4 Troex Nevelin
* maxi: тоже, что и complite + таблицы
81 1
82 2 Troex Nevelin
h2. Создание своего toolbar для редактора
83 2 Troex Nevelin
84 1
Способ 1. После подключения файлов elRTE:
85 2 Troex Nevelin
<pre>
86 1
<script type="text/javascript" charset="utf-8">
87 1
elRTE.prototype.options.toolbars.newToolbar = [
88 1
	// имена групп кнопок на нашем toolbar (см src/elrte/elRTE.options.js)
89 1
	'save', 'copypaste', 'style', 'colors', 'tables', 'fullscreen'
90 1
];
91 1
<script>
92 2 Troex Nevelin
</pre>
93 1
Теперь, при создания редактора в параметре toolbar передаем имя нашей панели инструментов.
94 1
95 1
Способ 2. Во время создания нового редактора:
96 2 Troex Nevelin
<pre>
97 1
<script type="text/javascript" charset="utf-8">
98 1
var opts = {
99 1
	...
100 1
	toolbars : {
101 1
		newToolbar : ['save', 'copypaste', 'style', 'colors', 'tables', 'fullscreen']
102 1
	},
103 1
	toolbar : 'newToolbar',
104 1
	...
105 1
	}
106 1
};
107 1
// создаем редактор
108 1
$('#our-element').elrte(opts);
109 1
110 1
<script>
111 2 Troex Nevelin
</pre>
112 2 Troex Nevelin
113 1
Подключение elRTE без файлового менеджера:
114 1
115 1
Подключаем jquery, jquery-ui, как показано выше.
116 1
Подключаем elRTE так же, как в предыдущем примере. Вместо elrtefinder.min.js и elrtefinder.min.css используем elrte.min.js и elrte.min.css соответственно. Настраиваем и создаем редактор, так же, как в предыдущем примере, не указывая опции fmAllow и fmOpen.
117 1
118 2 Troex Nevelin
h2. Подключение elFinder без elRTE
119 2 Troex Nevelin
120 1
Подключаем jquery, jquery-ui и плагины, как показано выше.
121 1
Подключаем elFinder:
122 2 Troex Nevelin
<pre>
123 1
<script src="js/elfinder.min.js" type="text/javascript" charset="utf-8"><script>
124 1
<link rel="stylesheet" href="css/elfinder.full.css"  type="text/css" media="screen" charset="utf-8">
125 1
Создаем файловый менеджер на странице:
126 1
<script type="text/javascript" charset="utf-8">
127 1
	$().ready(function() {
128 1
		$('#our-element').elfinder({
129 1
			url  : 'connector/connector.php',
130 1
			lang : 'ru'
131 1
		});
132 1
	});
133 1
<script>
134 2 Troex Nevelin
</pre>
135 1
Или при клике на элементе - открываем его в диалоговом окне:
136 2 Troex Nevelin
<pre>
137 1
<script type="text/javascript" charset="utf-8">
138 1
	$().ready(function() {
139 1
		$('#our-element').click(function() {
140 1
			$('<div />').elfinder({
141 1
				url : 'connector/connector.php',
142 1
				lang : 'en',
143 1
				dialog : { width : 900, modal : true }
144 1
			})
145 1
		});
146 1
	});
147 1
<script>
148 2 Troex Nevelin
</pre>
149 2 Troex Nevelin
150 1
Для работы elFInder необходмо настроить его connector. В connector.php, изменяем переменную $opts под наши нужды:
151 2 Troex Nevelin
<pre><code class="php">
152 1
$opts = array(
153 1
	'root'   => Путь_к_директории_с_файлами,
154 1
	'URL'    => URL_директории_с_файлами,
155 1
	'tplDir' => realpath(dirname(__FILE__).DIRECTORY_SEPARATOR.'tpl'), //измените, если перенесли шаблоны в другое место
156 1
	'lang'   => 'en', // язык интерфейса
157 1
	'defaults' => array( // права доступа по умолчанию
158 1
		'read'  => true,
159 1
		'write' => false
160 1
		),
161 1
	'perms' => array( // права доступа к отдельным директориям (не обязательно)
162 1
		'абсолютный_путь_к_директории' => array(
163 1
			'read'  => true,
164 1
			'write' => true
165 1
			)
166 1
		),
167 1
	'acl' => $zendACLObject // объект Zend_ACL (если указан, 2 предыдущие опции игнорируются). Будет доступно в следующей версии.
168 1
	);
169 2 Troex Nevelin
</code></pre>
170 2 Troex Nevelin
171 2 Troex Nevelin
h2.Опции elFinder
172 1
173 1
url: String. Aдрес коннектора. Обязательный параметр.
174 1
lang: String. Двухбуквенное обозначение языка интерфейса (требует подключения языковых файлов, если язык отличен от английского)
175 1
dialog: Object. Если содержит объект со свойствами - открывается в диалоговом окне. Опции - см jquery-ui dialog. По умолчанию - null (файловый менеджер создается на странице)
176 1
height: Number. Высота окна файлового менеджера в px, По умолчанию - 450
177 1
editTextFiles: false/true. Разрешает редактирование текстовых файлов. По умолчанию - false
178 1
editorCallback: function. Вызывается редактором при выборе файла. Аргумент - URL выбранного файла (editorCallback : function(url) {window.console.log(url) })