Показать сообщение отдельно
Старый 27.03.2006, 10:37   #9
Дылгеров Ц.В.
Senior Member
 
Регистрация: 14.11.2005
Адрес: Улан-Удэ
Сообщений: 158
Отправить сообщение для Дылгеров Ц.В. с помощью ICQ
По умолчанию

Цитата:
Сообщение от Pavel Antonov
Конечно! Будет полезно...
Для создания кнопки в HTMLArea необходимо прежде всего конечно установить сам RTE HTMLArea.

Затем заходите в каталог /typo3conf/ext/rtehtmlarea/htmlarea/plugins и копируете с надлежащими правами плугин попроще - я выбрал InsertSmiley. В результате в этом каталоге возник каталог InsertPodrobno - назовем его так (Вставить Подробность (по аналогии с http://gazeta.ru)). Обратите внимание на то что в названии этого каталога есть большие буквы. Внутри этого каталога не удаляйте пока ничего.
Переименовываем insert-smiley.js в insert-podrobno-compressed.js (по умолчанию используются сжатые скрипты - нам же нужны для правки несжатые). В нем везде заменяем InsertSmiley на InsertPodrobno. Кроме названия рисунка ed_smiley.gif.

В подкаталоге popups переименовываем insertsmiley.html в insertpodrobno.html

Внутри locallang.php оставляем:
$LOCAL_LANG = Array (
'default' => Array (
'Insert Podrobno' => 'Insert Podrobno',
'Smiley' => 'Smiley',
'Cancel' => 'Cancel',
),
'ru' => Array (
'Insert Podrobno' => 'Вставить подробность',
'Smiley' => 'Смайлик',
'Cancel' => 'Отмена',
),
);

В /typo3conf/ext/rtehtmlarea/class.tx_rtehtmlarea_base.php добавляем элементы типа "InsertPodrobno" или "insertpodrobno" в массивы и строки:
$defaultToolbarOrder,
$conf_toolbar_convert,
$pluginButton,
$pluginList,
$this->defaultToolbarOrder,
действуя по обстоятельствам

также меняем conf-файлы - ext_conf_template.txt и ext_localconf.php - добавляете название InsertPlugin в HTMLAreaPluginList

Заходим в Менеджер расширений и там добавляем в htmlArea RTE в List of htmlArea plugins в конец InsertPodrobno

В TS ставим на всякий случай
RTE.config.tt_news.bodytext {
showButtons = insertpodrobno
}

Обновляем кэш typo3conf


Как видите все очень просто. В конце панели инструментов - можете посмотреть - возникла рожица.

Далее уже работаете с JavaScript.

Например в файле insert-podrobno-compressed.js исправляете

InsertPodrobno.setTagHandler = function(instance) {
return (function(param) {
if(param && typeof(param.filePodrobno) != "undefined") {
instance.editor.focusEditor();
instance.editor.insertHTML(param.filePodrobno);
}
});
};

а в файле popups/insertpodrobno.html добавить в конец

<iframe src='podrobn1.html' name='podrobno'></iframe>
<button onclick='aaa()'></button>
<script>function aaa() {
var params = {};
params.filePodrobno = podrobno.document.body.innerHTML;
__dlg_close(params);
return false;
}</script>

то при нажатии на кнопку в текст визуального редактора вставится содержимое файла podrobno1.html в каталоге popups

У меня же есть еще выпадающий список для выбора этих podrobnХ.html файлов

Последний раз редактировалось Дылгеров Ц.В.; 27.03.2006 в 12:49
Дылгеров Ц.В. вне форума   Ответить с цитированием