images - Deshabilitar TinyMCE absoluta a las conversiones de URL relativas
tinymce toolbar (4)
¿Puede alguien decirme cómo hacer que TinyMCE deje de convertir mis URL a enlaces relativos en Plone?
Por ejemplo, si escribo esto en la fuente HTML:
<img src="/images/dir/subdir/my_image.png" />
lo convertirá a:
<img src="../../../my_image.png" />
He editado tiny_mce.js (en portal_skins) para establecer:
convert_urls:false,
relative_urls:false,
pero sin efecto. He leído todos los mensajes similares aquí, pero ninguno realmente responde esta pregunta.
Está bien si hace lo relativo cuando los usuarios seleccionan imágenes navegando por el sistema de archivos (es decir, el catálogo). Solo quiero que respete lo que escribo en el cuadro html ... para que tenga la opción de forzar una ruta absoluta si lo considero apropiado. Este es el comportamiento estándar en kupu.
¿Algunas ideas?
Debe agregar estas configuraciones en tinymce.int:
relative_urls: false,
convert_urls: false,
remove_script_host : false,
En Plone 5 es posible agregar esas variables en la pestaña de Opciones avanzadas de TinyMCE
Configuración del sitio> TinyMCE> Advaced
{"relative_urls": false, "convert_urls": false, "remove_script_host": false}
Otras variables están disponibles en Productos / CMFPlone / static / components / tinymce-builded / js / tinymce / tinymce.js
... popup_css: '''', plugins: '''', document_base_url: documentBaseUrl, add_form_submit_trigger: true, submit_patch: true, add_unload_trigger: true, convert_urls: true, relative_urls: true, remove_script_host: true, object_resizing: true, ...
Establezca convert_urls: false
en tiny_mce_init.js, no tiny_mce.js. Al principio de tiny_mce_init.js verá una llamada a window.tinyMCE.init pasando un montón de opciones de inicialización. En Products.TinyMCE que estoy viendo, la última opción es fix_list_elements: false
. Agregue su opción allí.
Editar : tiny_mce_init.js ya no se usa en Products.TinyMCE 1.3.x (Plone 4.3). En su lugar, anule la tinymce-jsonconfiguration
navegador tinymce-jsonconfiguration
, por ejemplo:
Suponiendo que tiene un paquete con una capa de navegador, agregue en browser/configure.zcml
:
<browser:page
for="*"
name="tinymce-jsonconfiguration"
class=".tinymce.TinyMCEBrowserView"
permission="zope2.View"
attribute="jsonConfiguration"
layer="..interfaces.IMyBrowserLayer"
/>
A continuación, agregue el 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)
Otra solución es configurar TinyMCE con el panel de control para usar UID para todos los enlaces e imágenes, en lugar de la ruta, de modo que no modifique ningún javascripts existente y no se muestre ninguna URL relativa.