mal1kov
@mal1kov
Притворись дураком 5 минут, чем быть им всю жизнь.

Как сохранить разрыв строки при изменении контента редактора TinyMCE?

Я делаю в админке Django авто переводчик с русского на английский и наоборот, то есть админ может ввести текст только в один редактор и при нажатии на кнопку текст автоматически переводится и вставится на другой.
Но есть проблема: встроенные в TinyMCE методы insertContent и setContent просто игнорируют \n и &nbsp.
Я думал проблема в переводчике, но при проверке на консоли я заметил это:
Скриншот
03f0c6176c11f031903ba.png


Конфиг TinyMCE в Django

TINYMCE_DEFAULT_CONFIG = {
    'selector': 'textarea',
    'height': 500,
    'width': 'auto',
    'cleanup_on_startup': True,
    'custom_undo_redo_levels': 30,
    'content_style': '.mcecontentbody{font-size:16px;}',
    'theme': 'modern',
    'link_quicklink': True,
    'link_context_toolbar': True,
    'default_link_target': '_blank',
    'plugins': '''
            contextmenu textcolor save paste link autolink image imagetools media preview
            codesample table code advlist insertdatetime nonbreaking
            directionality searchreplace wordcount visualblocks
            visualchars fullscreen lists charmap print hr
            anchor pagebreak autosave telegram_embed instagram_embed
            facebook_embed twitter_embed
            ''',
    'toolbar1': '''
            bold italic underline strikethrough | fontselect,
            fontsizeselect  | forecolor backcolor | alignleft alignright |
            aligncenter alignjustify | indent outdent | bullist numlist table |
            |
            ''',
    'toolbar2': '''
            link image media paste telegram_embed instagram_embed facebook_embed twitter_embed |
            visualblocks visualchars removeformat |
            charmap hr pagebreak nonbreaking anchor fullscreen preview | restoredraft |
            ''',
    'toolbar_sticky': True,
    'toolbar_mode': 'sliding',
    'contextmenu': True,
    'contextmenu': 'formats | link image media |',
    'contextmenu_never_use_native': True,
    'content_style': '@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@500&display=swap"); body { font-family: Montserrat; font-size: 12pt; }',
    'fontsize_formats': '8pt 10pt 11pt 12pt 13pt 14pt 16pt 18pt 20pt 24pt 36pt',
    'font_formats': "Montserrat=montserrat;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",
    'menubar': True,
    'statusbar': True,
    'paste_data_images': True,
    'automatic_uploads': True,
    'images_upload_url': '/upload_image/',
    'image_caption': True,
    'image_advtab': True,
    'media_live_embeds': True,
    'media_dimensions': True,
    'media_poster': True,
    'autosave_ask_before_unload': True,
    'autosave_interval': '20s',
    'autosave_prefix': 'tinymce-autosave-{path}{query}-{id}-',
    'autosave_retention': '30m',
    'extended_valid_elements': 'script[language|type|async|src|charset], iframe[src|width|height|name|align], embed[width|height|name|flashvars|src|bgcolor|align|play|loop|quality|allowscriptaccess|type|pluginspage], blockquote[]',
}



В документации я не нашел ничего об этом. Что посоветуете?

Проверено на TinyMCE 4 и 5
  • Вопрос задан
  • 19 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы