Подтвердить что ты не робот

Отключить TinyMCE от относительных конверсий URL

Может ли кто-нибудь сказать мне, как заставить TinyMCE прекратить преобразовывать мои URL-адреса в относительные ссылки в Plone?

Например, если я введу это в источник HTML:

<img src="/images/dir/subdir/my_image.png" />

он преобразует его в:

<img src="../../../my_image.png" />

Я редактировал tiny_mce.js(в portal_skins), чтобы установить:

convert_urls:false,
relative_urls:false,

но не имеет никакого эффекта. Здесь я читал все похожие записи, но никто не ответил на этот вопрос.

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

Любые идеи?

4b9b3361

Ответ 1

Задайте convert_urls: false в tiny_mce_init.js, а не tiny_mce.js. В начале tiny_mce_init.js вы увидите вызов window.tinyMCE.init, передающий кучу параметров инициализации. В Product.TinyMCE, на который я смотрю, последний вариант fix_list_elements: false. Добавьте свой вариант там.

Изменить: tiny_mce_init.js больше не используется в Products.TinyMCE 1.3.x(Plone 4.3). Вместо этого переопределите представление браузера tinymce-jsonconfiguration, например:

Предполагая, что у вас есть пакет с уровнем браузера, добавьте browser/configure.zcml:

<browser:page
    for="*"
    name="tinymce-jsonconfiguration"
    class=".tinymce.TinyMCEBrowserView"
    permission="zope2.View"
    attribute="jsonConfiguration"
    layer="..interfaces.IMyBrowserLayer"
    />

Затем добавьте browser/tinymce.py:

try:
    import simplejson as json
except ImportError:
    import json

from Acquisition import aq_inner
from Products.CMFCore.utils import getToolByName
from Products.TinyMCE.browser.browser import TinyMCEBrowserView as View
from Products.TinyMCE.browser.interfaces.browser import ITinyMCEBrowserView
from zope.interface import implements


class TinyMCEBrowserView(View):
    implements(ITinyMCEBrowserView)

    def jsonConfiguration(self, field):
        """Return the configuration in JSON"""

        utility = getToolByName(aq_inner(self.context), 'portal_tinymce')
        config = utility.getConfiguration(context=self.context,
                                          field=field,
                                          request=self.request)
        config['convert_urls'] = False
        return json.dumps(config)

Ответ 2

Вы должны добавить эти конфиги в tinymce.int:

relative_urls: false,

convert_urls: false,

remove_script_host : false,

Ответ 3

Другим решением является настройка TinyMCE с помощью панели управления для использования UID для всех ссылок и изображений вместо пути, поэтому вы не изменяете какие-либо существующие javascripts и не показываете какой-либо относительный URL-адрес.