Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
juves

добавление кнопки в Ckeditor

Рекомендованные сообщения

Стоит версия ipb 3.3.3

Необходимо добавить в меню редактора копку с вызовом метода. В более старых версиях было просто, но теперь сделано совершенно не понятно.

Имеющиеся в интернете мануалы не подходят к модифицированному ipb ckeditorу - не функционирует.

Может кто подскажет, какие нужно предпринять действия, чтобы появилась своя не bbcode кнопка в данной версии?

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение

Наверное то же, что обычно делается для добавления любой кнопки, найти нужный шаблон, вставить нужный код...) В случае с skeditor это, видимо, файл /public/js/3rd_party/ckeditor/themes/default/theme.js или скрипты в плагине "templates". Можно ничего не искать, просто подключить свой плагин. http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.plugins.html

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

уже опробовано, не всё так просто

Имеющиеся в интернете мануалы не подходят к модифицированному ipb ckeditorу - не функционирует.

Поделиться сообщением


Ссылка на сообщение

Ну, не знаю. Что же сложного? Взять готовый плагин, модифицировать для своих нужд, подключить...

Вставить html-код еще проще - смотрим код страницы, 2 минуты поиска по файлам, 10 минут на эксперименты:

dD49ekTB.png

 

Вставлял в данном случае сюда: /public/js/3rd_party/ckeditor/ckeditor.js

{t.push('</div>');v=0;}if(C==='/'){t.push('<div class="cke_break"></div>'

Перед крайним "</div>".

Поделиться сообщением


Ссылка на сообщение

да я транслит хотел прикрутить...

 

 

 

		translit: function ()
{
var obj_ta = $('cke_' + this.editorId).down('textarea');

//----------------------------------------
// It's IE!
//----------------------------------------
if ( Prototype.Browser.IE )
{
       if (obj_ta.isTextEdit)
	{
           obj_ta.focus();
		var sel = document.selection;
		var rng = sel.createRange();
		rng.colapse;
           if((sel.type == "Text" || sel.type == "None") && rng != null)
		{
			rng.text = this.dotranslate(rng.text);
		}
	}
       else
       {
           obj_ta.value = this.dotranslate(obj_ta.value);
       }
}
//----------------------------------------
// It's MOZZY!
//----------------------------------------

else if ( obj_ta.selectionEnd )
{
       var ss = obj_ta.selectionStart;
	var st = obj_ta.scrollTop;
	var es = obj_ta.selectionEnd;

	if (es <= 2)
	{
		es = obj_ta.textLength;
}

	var start  = (obj_ta.value).substring(0, ss);
	var middle = (obj_ta.value).substring(ss, es);
	var end    = (obj_ta.value).substring(es, obj_ta.textLength);

	//-----------------------------------
	// text range?
	//-----------------------------------

	if (obj_ta.selectionEnd - obj_ta.selectionStart > 0)
	{
		middle = this.dotranslate(middle);
	}

	obj_ta.value = start + middle + end;

	var cpos = ss + (middle.length);

	obj_ta.selectionStart = cpos;
	obj_ta.selectionEnd   = cpos;
	obj_ta.scrollTop      = st;


}
//----------------------------------------
// It's CRAPPY!
//----------------------------------------
else
{
	obj_ta.value = this.dotranslate(obj_ta.value);
}

obj_ta.focus();

return;
},

dotranslate: function (text)
{
   var txtnew = "";
   var symb = 0;
   var subsymb = "";
   var trans = 1;
   for (kk=0;kk<text.length;kk++)
   {
       subsymb = text.substr(kk,1);
       if ((subsymb=="[") || (subsymb=="<"))
       {
           trans = 0;
       }
       if ((subsymb=="]") || (subsymb==">"))
       {
           trans = 1;
       }
       if (trans)
       {
           symb = this.transsymbtocyr(txtnew.substr(txtnew.length-1,1), subsymb);
       }
       else
       {
           symb = txtnew.substr(txtnew.length-1,1) + subsymb;
       }
       txtnew = txtnew.substr(0,txtnew.length-1) + symb;
   }
   return txtnew;
},

transsymbtocyr: function (pretxt,txt)
{
var rus_lr2 = ('Е-е-О-о-Ё-Ё-Ё-Ё-Ж-Ж-Ч-Ч-Ш-Ш-Щ-Щ-Ъ-Ь-Э-Э-Ю-Ю-Я-Я-Я-Я-ё-ё-ж-ч-ш-щ-э-ю-я-я').split('-');
var lat_lr2 = ('/E-/e-/O-/o-ЫO-Ыo-ЙO-Йo-ЗH-Зh-ЦH-Цh-СH-Сh-ШH-Шh-ъ'+String.fromCharCode(35)+'-ь'+String.fromCharCode(39)+'-ЙE-Йe-ЙU-Йu-ЙA-Йa-ЫA-Ыa-ыo-йo-зh-цh-сh-шh-йe-йu-йa-ыa').split('-');
var rus_lr1 = ('А-Б-В-Г-Д-Е-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Х-Ц-Щ-Ы-Я-а-б-в-г-д-е-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-х-ц-щ-ъ-ы-ь-ь-я').split('-');
var lat_lr1 = ('A-B-V-G-D-E-Z-I-J-K-L-M-N-O-P-R-S-T-U-F-H-X-C-W-Y-Q-a-b-v-g-d-e-z-i-j-k-l-m-n-o-p-r-s-t-u-f-h-x-c-w-'+String.fromCharCode(35)+'-y-'+String.fromCharCode(39)+'-'+String.fromCharCode(96)+'-q').split('-');
var doubletxt = pretxt+txt;
var code = txt.charCodeAt(0);
if (!(((code>=65) && (code<=123))||(code==35)||(code==39))) return doubletxt;
var ii;
for (ii=0; ii<lat_lr2.length; ii++)
{
	if (lat_lr2[ii]==doubletxt) return rus_lr2[ii];
}
for (ii=0; ii<lat_lr1.length; ii++)
{
	if (lat_lr1[ii]==txt) return pretxt+rus_lr1[ii];
}
return doubletxt;
}

 

 

Поделиться сообщением


Ссылка на сообщение

А можно вообще где то найти пошаговый инструктаж по установке транслита на 3.3.х?

В доках СКедитора рылся и потерялся...

 

Самих javascriptов с транслитом я нашёл.

но вот как это всё интегрировать в CKEditor - без понятия.

 

На сайте IPS эту тему кто то подымал - но остался без ответа.

Поделиться сообщением


Ссылка на сообщение

Я тоже мучаюсь, не понимаю как приделать транслит. Помогите, кто знает. Заранее благодарю.

Поделиться сообщением


Ссылка на сообщение

Никто не знает как приделать транслит??

 

Я и сам не понимаю зачем это нужно в 2012 году?

ни у кого уже старых виндовсов не стоит.

купить наклейки с русскими буквами на клавиатуру стоит от силы 10$

Но публика требует транслит встроенный в редактор....

Поделиться сообщением


Ссылка на сообщение

А как добавить примеру эти кнопки?

post-57235-0-95035800-1414011768_thumb.png

Поделиться сообщением


Ссылка на сообщение

ips_config.js

 

добавил суда

config.toolbar_ipsfull =
[
	['Ipssource','НАПРИМЕР СУДА-Specialchar', 'RemoveFormat', 'Ipsbbcode'], [ '-', 'Font', 'FontSize'], [ '-', 'TextColor', 'Ipsemoticon', 'Ipsmedia' ], ['-','Find', 'Replace'], '-', ['Undo', 'Redo'], '-', ['Copy', 'Paste', 'PasteText', 'PasteFromWord' ], ['-', 'Ipsoptions'],
	'/',
	['Bold', 'Italic', 'Underline', 'Strike' ], ['Subscript', 'Superscript'], ['BulletedList', 'NumberedList'],
	['Link', 'Unlink', 'Image', 'Ipscode', 'Ipsquote' ], config.IPS_BBCODE_BUTTONS, ['Outdent', 'Indent', 'JustifyLeft','JustifyCenter','JustifyRight']

];

Поделиться сообщением


Ссылка на сообщение

А когда добаляеш плагин например: 'Blockquote', 'Templates' все работает.

config.toolbar_ipsfull =
[
	['Ipssource', 'RemoveFormat', 'Blockquote', 'Templates'], [ '-', 'Font', 'FontSize'], [ '-', 'TextColor', 'Ipsemoticon', 'Ipsmedia' ], ['-','Find', 'Replace'], '-', ['Undo', 'Redo'], '-', ['Copy', 'Paste', 'PasteText', 'PasteFromWord' ], ['-', 'Ipsoptions'],
	'/',
	['Bold', 'Italic', 'Underline', 'Strike' ], ['Subscript', 'Superscript'], ['BulletedList', 'NumberedList'],
	['Link', 'Unlink', 'Image', 'Ipscode', 'Ipsquote' ], config.IPS_BBCODE_BUTTONS, ['Outdent', 'Indent', 'JustifyLeft','JustifyCenter','JustifyRight']

];

Результат:

post-53045-0-91433500-1414108555_thumb.png

 

В чем секрет? :(

Поделиться сообщением


Ссылка на сообщение

В том, что плагин взаимодействует с API редактора. а ваши кнопки к нему отношения не имеют.

Поделиться сообщением


Ссылка на сообщение

А как добавить примеру эти кнопки?

Из этих кнопок цвет и так имеется в редакторе. Спецсимволы добавляются кодом (регистр букв однако имеет значение): SpecialChar

 

e15a7fb3afce7b5a8057244e85d099d5.jpeg

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Я на гоогле хроме проверял. Поетому не увидел. Почему хром не показываеть?

 

Mozilla показываеть

 

В том, что плагин взаимодействует с API редактора. а ваши кнопки к нему отношения не имеют.

Если можно подробно пожалюста

Поделиться сообщением


Ссылка на сообщение

Если в одном браузере показывает а в другом нет - с большой доли вероятности это кеш. Обновить кеш текущий страницы можно нажатием ctrl+ F5 (или просто F5).

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...