redactor icms2 настройки

#1 26 февраля 2016 в 00:30
Пользуюсь редактором html все устраивает. У него есть файл redactor.js по адресу wysiwyg\redactor\js
В нем куча настроек

  1. $.Redactor.opts = {
  2.  
  3. // settings
  4. lang: 'en',
  5. direction: 'ltr', // ltr or rtl
  6.  
  7. plugins: false, // array
  8.  
  9. focus: false,
  10. focusEnd: false,
  11.  
  12. placeholder: false,
  13.  
  14. visual: true,
  15. tabindex: false,
  16.  
  17. minHeight: false,
  18. maxHeight: false,
  19.  
  20. linebreaks: false,
  21. replaceDivs: true,
  22. paragraphize: true,
  23. cleanStyleOnEnter: false,
  24. enterKey: true,
  25.  
  26. cleanOnPaste: true,
  27. cleanSpaces: true,
  28. pastePlainText: false,
  29.  
  30. autosave: false, // false or url
  31. autosaveName: false,
  32. autosaveInterval: 60, // seconds
  33. autosaveOnChange: false,
  34.  
  35. linkTooltip: true,
  36. linkProtocol: 'http',
  37. linkNofollow: false,
  38. linkSize: 50,
  39.  
  40. imageEditable: true,
  41. imageLink: true,
  42. imagePosition: true,
  43. imageFloatMargin: '10px',
  44. imageResizable: true,
  45.  
  46. imageUpload: false,
  47. imageUploadParam: 'file',
  48.  
  49. uploadImageField: false,
  50.  
  51. dragImageUpload: true,
  52.  
  53. fileUpload: false,
  54. fileUploadParam: 'file',
  55.  
  56. dragFileUpload: true,
  57.  
  58. s3: false,
  59.  
  60. convertLinks: true,
  61. convertUrlLinks: true,
  62. convertImageLinks: true,
  63. convertVideoLinks: true,
  64.  
  65. preSpaces: 4, // or false
  66. tabAsSpaces: false, // true or number of spaces
  67. tabFocus: true,
  68.  
  69. scrollTarget: false,
  70.  
  71. toolbar: true,
  72. toolbarFixed: true,
  73. toolbarFixedTarget: document,
  74. toolbarFixedTopOffset: 0, // pixels
  75. toolbarExternal: false, // ID selector
  76. toolbarOverflow: false,
  77.  
  78. buttonSource: false,
  79. buttons: ['html', 'formatting', 'bold', 'italic', 'deleted', 'unorderedlist', 'orderedlist',
  80. 'outdent', 'indent', 'image', 'file', 'link', 'alignment', 'horizontalrule'], // + 'underline'
  81.  
  82. buttonsHide: [],
  83. buttonsHideOnMobile: [],
  84.  
  85. formatting: ['p', 'blockquote', 'pre', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'],
  86. formattingAdd: false,
  87.  
  88. tabifier: true,
  89.  
  90. deniedTags: ['html', 'head', 'link', 'body', 'meta', 'script', 'style', 'applet'],
  91. allowedTags: false, // or array
  92.  
  93. removeComments: false,
  94. replaceTags: [
  95. ['strike', 'del']
  96. ],
  97. replaceStyles: [
  98. ['font-weight:\\s?bold', "strong"],
  99. ['font-style:\\s?italic', "em"],
  100. ['text-decoration:\\s?underline', "u"],
  101. ['text-decoration:\\s?line-through', 'del']
  102. ],
  103. removeDataAttr: false,
  104.  
  105. removeAttr: false, // or multi array
  106. allowedAttr: false, // or multi array
  107.  
  108. removeWithoutAttr: ['span'], // or false
  109. removeEmpty: ['p'], // or false;
  110.  
  111. activeButtons: ['deleted', 'italic', 'bold', 'underline', 'unorderedlist', 'orderedlist',
  112. 'alignleft', 'aligncenter', 'alignright', 'justify'],
  113. activeButtonsStates: {
  114. b: 'bold',
  115. strong: 'bold',
  116. i: 'italic',
  117. em: 'italic',
  118. del: 'deleted',
  119. strike: 'deleted',
  120. ul: 'unorderedlist',
  121. ol: 'orderedlist',
  122. u: 'underline'
  123. },
  124.  
  125. shortcuts: {
  126. 'ctrl+shift+m, meta+shift+m': { func: 'inline.removeFormat' },
  127. 'ctrl+b, meta+b': { func: 'inline.format', params: ['bold'] },
  128. 'ctrl+i, meta+i': { func: 'inline.format', params: ['italic'] },
  129. 'ctrl+h, meta+h': { func: 'inline.format', params: ['superscript'] },
  130. 'ctrl+l, meta+l': { func: 'inline.format', params: ['subscript'] },
  131. 'ctrl+k, meta+k': { func: 'link.show' },
  132. 'ctrl+shift+7': { func: 'list.toggle', params: ['orderedlist'] },
  133. 'ctrl+shift+8': { func: 'list.toggle', params: ['unorderedlist'] }
  134. },
  135. shortcutsAdd: false,
  136.  
  137. // private
  138. buffer: [],
  139. rebuffer: [],
  140. emptyHtml: '<p>&#x200b;</p>',
  141. invisibleSpace: '&#x200b;',
  142. imageTypes: ['image/png', 'image/jpeg', 'image/gif'],
  143. indentValue: 20,
  144. verifiedTags: ['a', 'img', 'b', 'strong', 'sub', 'sup', 'i', 'em', 'u', 'small', 'strike', 'del', 'cite', 'ul', 'ol', 'li'], // and for span tag special rule
  145. inlineTags: ['strong', 'b', 'u', 'em', 'i', 'code', 'del', 'ins', 'samp', 'kbd', 'sup', 'sub', 'mark', 'var', 'cite', 'small'],
  146. alignmentTags: ['P', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'DL', 'DT', 'DD', 'DIV', 'TD', 'BLOCKQUOTE', 'OUTPUT', 'FIGCAPTION', 'ADDRESS', 'SECTION', 'HEADER', 'FOOTER', 'ASIDE', 'ARTICLE'],
  147. blockLevelElements: ['PRE', 'UL', 'OL', 'LI'],
  148.  
  149.  
  150. // lang
  151. langs: {
  152. en: {
  153. html: 'HTML',
  154. video: 'Insert Video',
  155. image: 'Insert Image',
  156. table: 'Table',
  157. link: 'Link',
  158. link_insert: 'Insert link',
  159. link_edit: 'Edit link',
  160. unlink: 'Unlink',
  161. formatting: 'Formatting',
  162. paragraph: 'Normal text',
  163. quote: 'Quote',
  164. code: 'Code',
  165. header1: 'Header 1',
  166. header2: 'Header 2',
  167. header3: 'Header 3',
  168. header4: 'Header 4',
  169. header5: 'Header 5',
  170. bold: 'Bold',
  171. italic: 'Italic',
  172. fontcolor: 'Font Color',
  173. backcolor: 'Back Color',
  174. unorderedlist: 'Unordered List',
  175. orderedlist: 'Ordered List',
  176. outdent: 'Outdent',
  177. indent: 'Indent',
  178. cancel: 'Cancel',
  179. insert: 'Insert',
  180. save: 'Save',
  181. _delete: 'Delete'
#2 26 февраля 2016 в 11:43
Документация по настройкам redactor здесь.


Может кто подскажет что в нем лучше и как настроить, а лучше где почитать.

Romanovcmc

Если такие же настройки найду для Live Editor, признаю его почти идеальным редактором smile
#3 26 февраля 2016 в 12:15

признаю его почти идеальным редактором

boanro
Признавайте
#4 26 февраля 2016 в 13:00
Да, действительно тоже много настроек. Хотя нет например настройки, которая все ссылки в публикации берет в тег nofollow. Но это не страшно. Просто в тот тип материалов, для которого это нужно, поставлю redactor.


Признавайте

Loadырь
#5 26 февраля 2016 в 15:44

Просто в тот тип материалов, для которого это нужно, поставлю redactor.

boanro
Значит не признаете live почти идеальным.

нет например настройки, которая все ссылки в публикации берет в тег nofollow.

boanro
Это, действительно, не страшно. Можно добавлять свои кнопки и вешать на них свои обработчики. Главное знать, что и куда там прописывать.
#6 26 февраля 2016 в 16:03


Значит не признаете live почти идеальным.

Loadырь

Почти идеальным признаю, но не идеальным laughНо если поладят функцию поиска видеороликов на Youtube, возможно пересмотрю свое решение smile

Это, действительно, не страшно. Можно добавлять свои кнопки и вешать на них свои обработчики.


Может там и существующую кнопку вставки ссылок можно легко переделать чтобы вставляла тег nofollow? Когда-то покопаюсь.

Главное знать, что и куда там прописывать.


Вот недавно начал изучать JavaScript. Может через какой-то годик и буду знать что куда прописывать laugh
#7 29 февраля 2016 в 16:59
Может еще подскажите в каком именно файле Live Editor находится настройка pasteTextOnCtrlV или ее совсем нет и нужно прописать. Через поиск внутри файлов с этим словом находит только файл /live/script/editor.js Но там какая то каша из кода. Вряд ли там должно быть прописано это значение. Но тогда в каком файле прописать это свойство (oEdit1.pasteTextOnCtrlV = true;). Что-то не вижу в документации...


признаю его почти идеальным редактором

boanro
Признавайте

Loadырь
#8 29 февраля 2016 в 17:11
В файле после 43 строки пропишите
  1. window["le_<?php echo $dom_id; ?>"].pasteTextOnCtrlV = true;
#9 1 марта 2016 в 11:23
Работает. Спасибо, Loadырь!

Правда чуть не так, как в redactor. Там текст без форматирования вставляется прямо в поле, а тут открывается отдельное окошко, куда нужно вставлять текст. Но это не имеет значение.

У меня есть еще одна хотелка. Чтобы при клике на уже вставленной картинке открывалось окно свойств картинки, или появлялась на картинке кнопка "Редактировать" (так как в redactor). Иначе некоторые пользователи, которые хотят отредактировать вставленную картинку могут не догадаться, что после того как выделили ее нужно снова нажимать на кнопку "Вставить картинку" на панели кнопок. А просто удалят картинку (ссылку на картинку) и вставят по-новому, после чего будут оставаться "хвосты" с неиспользованных картинок на сервере.

Но, это, наверное, одной строчкой кода уже не получится сделать laughНо не страшно… А вот то что в Live таблицы и смайлы идут из-коробки — это очень хорошо!


В файле после 43 строки пропишите

  1. window["le_"].pasteTextOnCtrlV = true;

Loadырь
#10 1 марта 2016 в 11:40
В этом редакторе опционально можно отключить создание нового абзаца <p> после каждого нажатия Enter и заменить на <br>?

Спрашиваю потомучто видел подобные опции в другом редакторе, например TinyMCE
#11 1 марта 2016 в 11:48
В Live точно можно:

Inserting <DIV>, <P> or <BR> when pressing Enter Key

You can configure the editor to insert <DIV>, <P> or <BR> when pressing enter key.

oEdit1.returnKeyMode = 1;

Possible values are:

0: follow browser default. With this option, tag inserted when pressing Enter key is depending on browser. IE8 and lower will insert P and IE9 insert DIV. Firefox always insert BR while Chrome/Safari inserts DIV.
1: always insert DIV (default)
2: always insert BR
3: always insert P

А вот для redactor не вижу такой настройки…
#12 19 марта 2016 в 16:06
Может еще подскажите как в LiveEditor сделать так чтобы форматирование чистилось не только при вставке Ctrl+V а также при (контекстное меню — Вставить)? Или как сделать так, чтобы можно было вставлять текст только через Ctrl+V? В документации еще не нашел такого...


В файле после 43 строки пропишите

  1. window["le_"].pasteTextOnCtrlV = true;

Loadырь
#13 19 марта 2016 в 16:29
интерсно как в Imperavi сделать запрет ставить <BR> автоматически.

делал список? но автоматом еще ставить брейки при сохранении
#14 19 марта 2016 в 17:26

интерсно как в Imperavi сделать запрет ставить <BR> автоматически.

wysiwyg/redactor/wysiwyg.class.php
после строк
  1. $('#<?php echo $dom_id; ?>').redactor({
Добавить
  1. linebreaks : false,
Можно добавить еще полезное
  1.  
  2. replaceDivs : false, //разрешены div
  3. linkNofollow: true, // ссылки в rel="nofollow">
  4.  
Все опции можно найти в самом файле wysiwyg/redactor/js/redactor.js
в опциях
  1. $.Redactor.opts = {
#15 19 марта 2016 в 18:27
спасибо! сейчас попробую
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.