Witam,
piszę własny cms wykorzystujący CKEditor. Chiałbym zrobić plugin, dzięki któremu użytkownik mógłby dodawać dwa divy:

  1.  
  2. CKEDITOR.dialog.add("galeria",function(e){
  3.  
  4.  
  5. return {
  6. title:'Wstaw galerię',
  7. resizable : CKEDITOR.DIALOG_RESIZE_BOTH,
  8. minWidth:300,
  9. minHeight:100,
  10. onShow:function(){
  11. },
  12. onLoad:function(){
  13. myEditor = this.getParentEditor();
  14. dialog = this;
  15. this.setupContent();
  16. },
  17. onOk:function(){
  18.  
  19.  
  20. },
  21. contents:[
  22. { id:"info",
  23. name:'info',
  24. label:'Tab',
  25. elements:[
  26. {
  27. id : 'format',
  28. type : 'select',
  29. label : 'Wybierz galerią lub silder',
  30. accessKey : 'T',
  31. items :
  32. [
  33. [ 't1','wartosc'],
  34. [ 't6 ','wartosc2']
  35. ],
  36. onChange: function(){
  37.  
  38. // magiczna funkcja zmieniająca tekst w label w elemencie o id 'tekst'
  39. return false;
  40. }
  41. },
  42.  
  43. {
  44. id : 'tekst',
  45. type : 'text',
  46. label : 'Podaj nazwę galeri'
  47.  
  48.  
  49. },
  50.  
  51.  
  52. ]
  53. }
  54. ],
  55. buttons:[{
  56. type:'button',
  57. id:'okBtn',
  58. label: 'Wstaw',
  59. onClick: function(){
  60.  
  61. addCode();
  62. }
  63. }, CKEDITOR.dialog.cancelButton],
  64. };
  65.  
  66. function addCode(){
  67.  
  68. var t = dialog.getValueOf('info', 'tekst');
  69. if(t.length == 0){
  70. alert('Prosze wybrac format.')
  71. return false;
  72. }
  73.  
  74. var html='<div id="'+t+'"class="galeria" style="background-color: #aade7c">Galeria pt: '+t+'</div>';
  75.  
  76. //var myEditor = CKEDITOR.instances.tresc;
  77.  
  78. myEditor.insertHtml(html);
  79. CKEDITOR.dialog.getCurrent().hide();//zamknij
  80.  
  81. return false;
  82.  
  83. };
  84.  
  85.  
  86. });
  87.  


Jak zmieniać labele w elementach ? (magiczna funkcja w zdarzeniu onselect)

Rozwiązanie:
  1. var F=CKEDITOR.dialog.getCurrent();
  2. F.getContentElement('info','tekst').setLabel("mój tekst");