|
|
Инструкции и модификации для vBulletin 4.x Различные инструкции и моды для vBulletin 4.x |
|
Опции темы | Поиск в этой теме |
11.08.2012, 12:22 Вверх | #1 | |||
Пользователь
|
[HOW-TO - vB4] Create a Custom Button for CK Editor (no file edits)
Serberg, опубликуйте пожалуйста эту тему
http://www.vbulletin.org/forum/showthread.php?t=278828 Думаю многим она будет полезной. Спасибо |
|||
11.08.2012, 13:19 Вверх | #2 | |||
Местный житель
|
Хоть я не Serberg, так и быть опубликую.
This article explains how to add or remove buttons from CKEditor by using Ckeditor and vBulletin plugins. No standard file edits needed. To add a button to CKEditor, you need to create a CKE plugin. This is an example code for such a plugin. It will add "Hello World" to the editor and spawn a JS alert. Important note: This article is on the technique of adding a button, not on how you will get your button to do whatever it is you want it to do. There are plenty sites out there that give support for CKEditor plugins. http://docs.cksource.com/ckeditor_api/ First step: Create the CKEditor plugin The editor plugin files reside in the folder [forumroot]/clientscript/ckeplugins. Create a new folder in there. For the purpose of this article, I'll name it celButtonDemo. Inside that folder, create a file called plugin.js. So you end up with this: [forumroot]/clientscript/ckeplugins/celButtonDemo/plugin.js Important note: Please take notice that "celButtonDemo" will have to be replaced in the folder name and in the following code examples accordingly!. Inside plugin.js goes the plugin code: PHP код:
Second step: vB Operations - register your button, add it to the toolbar, and more In a second step we will create two vB plugins and a vB phrase. You should bundle all that together to a product, to have it all nicely together. Let's start with the phrase: Go to AdminCP, create a phrase in the CKEditor phrase group, and name it CelButtonDemo. Enter "Hello World, hello Button" - or whatever. Save. Done. Then create a new plugin at hook "editor_construct". This will add our button to the CKE configuration. PHP код:
In this example, our button will be inserted after the Quote-Button. Your options to place the button can be found in /vb/ckeditor.php. See line 7 in the following code: Код:
foreach ($toolbar AS &$row) { if (is_array($row)) { foreach ($row AS $id => $cmd) { if ($cmd == 'Quote') { $row = array_merge(array_slice($row, 0, $id+1), array('celButtonDemo'), array_slice($row, $id+1)); break; } } } } Result (Screencast): http://screencast-o-matic.com/watch/clnqDcazQ Removing buttons The technique used above to add the button can also be used to remove a button. Example: Removing the image button would look like that (hook "editor_toolbar_filter") PHP код:
PHP код:
Restricting buttons by editor-mode or usergroup You have everything available to you in the vB-universe to restrict access to your button, just extend the if-condition. You can restrict by usergroup, or you can show a button only in a certain editor The editor mode can be queried via $this->editor_type in plugins at editor_toolbar_filter: fe = full qr = quick reply qe = quick edit cms_article Example: PHP код:
|
|||