Как я могу настроить TinyMCE, чтобы он не позволял встроенные изображения данных? - PullRequest
6 голосов
/ 27 сентября 2011

У меня установлена ​​система TinyMCE на CMS, и пользователи вставляли изображения в линейный тип данных. Такие вещи:

<img src="data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub/
/ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcpp
V0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7" 
width="16" height="14" alt="embedded folder icon">

Они вставляются в некоторые довольно большие изображения, а содержимое сохраняется в базе данных. Это приводит к очень быстрому увеличению размера базы данных, и уже есть доступный компонент загрузки медиафайлов, так как я могу просто запретить редактору принимать этот тип изображения?

1 Ответ

2 голосов
/ 28 сентября 2011

Это зависит от того, что вы хотите. В связи с тем, что вы не сможете запретить этот тип элементов с помощью valid_elements и child_elements, вам придется пойти другим путем.

Случай 1 : Вы не хотите, чтобы пользователь вводил этот тип изображения в пасту.

Вам нужно будет использовать плагин вставки и установить параметр paste_pre

paste_preprocess : function(pl, o) {
    window.console && console.log('Object', o);
    window.console && console.log('Content:', o.content);

    // modify o.content here -> remove images of that kind
    o.content = o.content.substr(...)
}

Случай 2 : требуется отфильтровать изображения перед их сохранением в БД.

Вы можете использовать установочный параметр tinymce в сочетании с onSave , чтобы избавиться от них.

Судя по тому, что вы описываете, вы, похоже, нуждаетесь в случае 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...