Перейти к содержимому


Добавляем спойлер в CKeditor


  • Вы не можете ответить в тему
Сообщений в теме: 4

#1 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 15 December 2011 - 11:44 PM

Спойлер будет у нас прятать текст под кнопкой!
Ну а кнопочка more будет вставлять тег в место где стоит курсор.

Создаем SPOILER!

Создадим папку spoiler в папке plugins редактора. ( ckeditor/plugins/spoiler )
Создадим там файл plugin.js
Вставляем туда код:
(function()
{
var pluginName = 'spoiler';
// Регистрируем имя плагина .
CKEDITOR.plugins.add( pluginName,
{
init : function( editor )
{//Добавляем команду на нажатие кнопки
editor.addCommand( pluginName,new CKEDITOR.dialogCommand( 'spoiler' ));
//Указываем где скрипт окна диалога.
CKEDITOR.dialog.add( pluginName, this.path + 'dialogs/spoiler.js' );
// Добавляем кнопочку
editor.ui.addButton( 'Spoiler',
{
label : 'Добавить Spoiler',//Title кнопки
command : pluginName,
icon : this.path + 'logo.gif'//Путь к иконке
});
}
});
})();
Создаем папку dialogs в папке spoiler. И в ней создаем файл spoiler.js

Пишем туда исполняемый код:


CKEDITOR.dialog.add( 'spoiler', function( editor ){ return { title : 'Spoiler', minWidth : 400, minHeight : 300, contents : [ { id : 'tab1', label : 'First Tab', title : 'First Tab', elements : [ { id : 'input1', type : 'text', style : 'width:140px;', label : 'Введите текст кнопки:', validate : function(){CKEDITOR.config.text_val= this.getValue();if ( !this.getValue() ){alert( 'Поле текст кнопки пустое!' );return false;}}}, { type : 'html', id : 'content', html : '', validate : function(){ if ( !this.getValue() ){alert( 'Поле текст пустое!' );return false;}var element= editor.document.createElement( 'div' ); element.setAttribute( 'style', 'margin:4px 0px 4px 0px' ); element.setHtml(""); var element2= editor.document.createElement( 'div' ); element2.setAttribute( 'class', 'class="spoiler" style="display:none"' ); element2.setText(this.getValue()); element2.appendTo( element );editor.insertElement( element );CKEDITOR.ENTER_BR;return true;}},{ type : 'html', id : 'pasteMsg', html : '
Вы можете использовать горячие клавиши.Ctrl+X - вырезать. Ctrl+V - вставить.Ctrl+C - скопировать.
' } ] } ] };} );
В папку plugins/spoiler кидаем картинку logo.gif. Это будет иконка нашей кнопочки.


З.Ы. Доработка не моя - сам не пробовал. Пробуйте - пишите что получится. Думаю о спойлере в ShopCMS многие мечтают ))
Если не получится будем разбираться.
  • 0

#2 invent

    Пользователь

  • Пользователи
  • PipPip
  • 26 сообщений
Репутация: 0
Начинающий

Отправлено 16 December 2011 - 07:47 AM

Я так понимаю в редакторе должна появиться кнопка "спойлер"?
Пока не получилось.
У меня папки - fckeditor/editor/plugins/
fckeditor и ckeditor это, как я почитал разные версии и нужно этот плагин править..

а вообще можно установить ckeditor, это ведь более новая версия? или это проблематично?
  • 0

#3 Robby

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 162 сообщений
Репутация: 75
Продвинутый

Отправлено 16 December 2011 - 08:58 AM

invent, ckeditor наверно можно установить, но нужно разбираться. Плагины ckeditor и fckeditor не совместимы, поэтому без переделки не будет работать. Последнюю версию fckeditor для ShopCMS можно взять здесь http://vsupport.club/t281.html
  • 0

#4 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 17 December 2011 - 12:03 AM

Кстати, в fckeditor (по крайней мере после обновления) есть еще такая прикольная штука как шаблоны, правится fcktemplates.xml по аналогии с тем что есть, можно сделать готовые куски кода с форматированием, разметкой и т.д. для подстановки в описание товаров, очень удобно и время экономит.
  • 0
502 Bad Gateway

#5 invent

    Пользователь

  • Пользователи
  • PipPip
  • 26 сообщений
Репутация: 0
Начинающий

Отправлено 17 December 2011 - 09:36 AM

Да, шаблоны хорошая штука.
А вот на счёт модуля спойлер - может его кто-то переделать под fckeditor или новый сделать?
  • 0