Как подлючить TinyMCE Rich Text Editor к Tickets?

Доброго всем времени суток.
Кто может подсказать как вместо стандартного редактора Tickets подключить TinyMCE Rich Text Editor.
На жаль нигде не нашел рабочего мануала как все сделать. Может кто то делал такое или подключал другие текстовые редакторы подскажите.
Сергій
13 апреля 2021, 09:04
modx.pro
686
0
Поблагодарить автора Отправить деньги

Комментарии: 22

Артур Шевченко
13 апреля 2021, 15:24
0
Вот так как тут написано www.tiny.cloud/docs/quick-start/
    Сергій
    13 апреля 2021, 15:33
    0
    Пробовал. После чего Tickets просто отказывался отправлять данные. Просто ничего не происходило при нажатие на кнопку.
      Артур Шевченко
      13 апреля 2021, 16:56
      0
      Если ничего не происходит, значит скрипты не подключены, в противном случае обязательно что-то происходит и по тому, что конкретно происходит можно понять что ты не так делаешь. Нужно в системных настройках отключить стандартный редактор tickets.enable_editor
        Сергій
        14 апреля 2021, 00:18
        0
        Посте того как отключил «редактор tickets.enable_editor » появилась ошибка «Вы забыли написать комментарий.»
          Артур Шевченко
          14 апреля 2021, 00:28
          0
          А ты в консоли смотрел какие данные отправляются?
            Сергій
            14 апреля 2021, 00:30
            0
            thread=resource-6&parent=0&id=0&form_key=05a0592e6375a53bd7ebebc6cfe1f4c0&content=&action=comment%2Fsave
              Артур Шевченко
              14 апреля 2021, 00:37
              0
              Какое значение у атрибута name поля к которому ты подключил редактор?
                Сергій
                14 апреля 2021, 00:39
                0
                name=«content» id=«comment»
                Вернул на:
                <textarea name="text" id="comment-editor" cols="30" rows="10" class="form-control"></textarea>
                Как было изначально. Ничего не помогает.
                  Артур Шевченко
                  14 апреля 2021, 00:51
                  0
                  content пустой, отсюда и ошибка. Посмотри в доках к редактору должен быть колбэк на изменение, попробуй в нём брать текущее значение в редакторе и вставлять в value своего элемента textarea, по-моему я так делал.
                    Сергій
                    14 апреля 2021, 00:54
                    0
                    Можете подсказать куском кода.
                      Артур Шевченко
                      14 апреля 2021, 00:56
                      +1
                      Сейчас нет. Утром да.
                      Сергій
                      14 апреля 2021, 01:00
                      0
                      Буду благодарен.
                      Сергій
                      14 апреля 2021, 01:34
                      0
                      Сделал вот так:
                      <script>
                          tinymce.init({
                              selector: '#comment-editor',
                              setup: function (editor) {
                              editor.on('change', function () {
                                  editor.save();
                              });
                          }
                            });
                          </script>
                      Все работает. Но если отправить комментарий то чтобы отправить повторно нужно перезагрузить страницу. Tickets заедает после отправки.
                      Артур Шевченко
                      14 апреля 2021, 09:04
                      0
                      Добавь очистку поля и редактора после отправки в скрипты тикета.
                      Сергій
                      14 апреля 2021, 12:55
                      0
                      Можно пример кода.
                      Артур Шевченко
                      14 апреля 2021, 13:49
                      0
                      tinymce.init({
                          selector : '#ticketEditor',
                          language_url : 'https://franchiser.ru/assets/project_files/tinymce/js/tinymce/langs/ru.js',
                          language: 'ru',
                          height: 400,
                          relative_urls : false,
                          document_base_url: 'https://franchiser.ru/',
                          image_dimensions: false,
                          remove_trailing_brs: true,
                          extended_valid_elements : 'div[class],tr,td[style]',
                          plugins: [
                              'advlist autolink link image lists code charmap hr anchor',
                              'searchreplace wordcount visualblocks visualchars fullscreen insertdatetime nonbreaking',
                              'table paste'
                          ],
                          setup: function(editor) {
                              editor.on('change', function(e) {
                                  var content = editor.getContent();   
                                  $('textarea#ticketEditor').val(content)
                          },
                          toolbar: 'undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | ' +
                              'bullist numlist | link',
                          menubar: 'edit view tools table code anchor',
                          content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px }',
                          style_formats: [
                              { title: 'Заголовок', block: 'h2' },
                              { title: 'Подзаголовок', block: 'h3' },
                              { title: 'Абзац', block: 'p'},
                              { title: 'Цитата', block: 'blockquote'},
                              { title: 'Вводная часть', block: 'div', classes: 'material-entry' },
                          ]
                      });
                      Сергій
                      15 апреля 2021, 03:30
                      0
                      Все одно не работает.
                      Алексей Смирнов
                      25 апреля 2021, 09:48
                      0
                      Проверил. все корректно подключается.
                      единственно, можно убрать SETUP
                      и отдельно сделать на событие клика кнопки ОТПРАВИТЬ форму:
                      tinymce.triggerSave();
                      при отправке — tiny внесет изменения в textarea и форма далее засобмитится с этими изменениями.
                      Ну, а если у вас кастомизированный JS скрипт для тикетсов, то вообще можно туда в нужное место добавить триггер сохранения и все будет камильфо.
                      Сергій
                      25 апреля 2021, 11:48
                      0
                      Добрый день Алексей. Можно пример вашего кода пожалуйста.
                      Алексей Смирнов
                      25 апреля 2021, 12:37
                      0
                      ну я подключаю не к комментариям, а к редактированию, созданию тикета.
                      делаю так:
                      1. выключаю настройку выше изложенную в этом топике
                      Беру вызов из документации:
                      <script src="https://cdn.tiny.cloud/1/no-api-key/tinymce/5/tinymce.min.js" referrerpolicy="origin"></script>
                          <script>
                            tinymce.init({
                              selector: '#mytextarea'
                            });
                          // тут добавляю действие для сохранения изменений в текстАреа: клик на кнопке сабмита
                          $('form .btn.save').on('click',function (){
                              tinymce.triggerSave();
                          });
                          </script>
                      Вы скорее всего к коментариям пытаетесь добавить…
                      подозреваю что там нужно чутка коррктировать, но точного решения не знаю для коментариев.
                      Алексей Смирнов
                      25 апреля 2021, 12:44
                      0
                      И еще момент, если не ошибаюсь то форма с коментариями хитрая и туда-сюда прыгает. т.е. вам скорее всего нужно делать инициализацию тогда когда жмется кнопка ОТВЕТИТЬ и ОТВЕТИТЬ НА КОМЕНТАРИЙ.
                      Подозреваю что просто тини не цепляется из-за этого.
                      Сергій
                      25 апреля 2021, 16:44
                      0
                      Заработало. Только новая проблема появилась.
                      Как сделать так чтобы при первой отправке tickets обновлял форму и можно было следующее сообщение отправить.
                      Сейчас первое уходит, хотя не передает допустим style.
                      Подскажите в чем может быть проблема. Может php фильтрует код?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
22