Создание диалогового окна выбора изображения TinyMCE, указывающего на папку по умолчанию в Plone

#image #tinymce #plone

#изображение #tinymce #plone

Вопрос:

Plone 4.1.

Какой был бы самый простой способ заставить диалоговое окно выбора изображения TinyMCE указывать на папку сайта по умолчанию (/ image-bank) вместо текущей папки?

Отображение папки в виде альбома легко обеспечит элементарную поддержку банка изображений для Plone.

Я бы надеялся реализовать эту функцию для

  • Все готовые типы содержимого Plone (ATContentTypes)
  • Мои пользовательские типы контента AT
  • МОИ пользовательские типы содержимого Dexterity
  • Редактор портлетов WYSIWYG (это zope.formlib?)

Если сложно редактировать код Python повсюду, к нему можно получить доступ только к фрагменту Javascript, исправляющему настройки TinyMCE на стороне клиента.

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

1. Пожалуйста, укажите, хотите ли вы использовать TinyMCE с текстовым полем Archetypes или с полем plone.app.textfield.

2. Хорошо, прояснены различные варианты использования

Ответ №1:

Микко: Какое совпадение. Я просто пытаюсь добиться того же самого. Мне удалось создать более конкретный адаптер, чем `Products/TinyMCE/adapters/Upload/Upload `.

Этот новый адаптер изменяет папку загрузки (с помощью настройки self.context ) на центральную папку изображений, а затем обновляет список переключателей (и предварительный просмотр изображений) изображениями из центральной папки (и только что загруженным изображением). Это делается путем определения uploadOk метода внутри нового адаптера.

Однако, я думаю, что единственный способ изменить исходную папку — это настроить ploneimage.html.pt или ploneimage.js внутри skins/tinymce/plugins/ploneimage папки. Но изменение любого из этих двух больших файлов (которые могут измениться в будущем), может привести к тому, что новые версии TinyMCE не будут работать с вашими изменениями. Таким образом, вы будете вынуждены повторно настроить их снова.

Моя идея (которую я уже отправил по электронной почте сегодня утром на номер Four Digits) состоит в том, чтобы предоставить эту функцию TinyMCE «из коробки», с помощью опции конфигурации. Таким образом, файлы пакета всегда будут в курсе этой функции, и будущие изменения не повредят этой новой функциональности.

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

1. Можете ли вы просто загрузить свой собственный файл Javascript после TinyMCE, который внес бы необходимые изменения, манипулируя средой выполнения Javascript или DOM?

2. Проблема в том, что файлы JavaScript, используемые плагином ploneimage, вызываются из ploneimage.html.pt шаблон ( svn.plone.org/svn/collective/Products . TinyMCE / trunk / Products / … ) и я не знаю, есть ли простой способ загрузить ваш пользовательский JS после этого. Вот почему я предложил изменить шаблон или JS.

3. Выглядит некрасиво — исправление TinyMCE на более высоком уровне, похоже, является единственным вариантом, потому что переопределение вложенной папки skins не работает.

4. Что вы подразумеваете под «более высоким уровнем»?

5. «Я думаю, что единственный способ — настроить ploneimage.html.pt или ploneimage.js внутри папки skins / tinymce / plugins / ploneimage.» Перешел к ploneimage.js file и действительно сложно понять, как изменить путь по умолчанию для загрузок в этом файле. Можете ли вы посоветовать? Большое вам спасибо.