2011-03-04 8 views
28

क्या कोई मुझे बता सकता है कि मेरे URL को प्लोन में सापेक्ष लिंक में बदलने के लिए TinyMCE कैसे प्राप्त करें?सापेक्ष यूआरएल रूपांतरणों के लिए पूर्ण TinyMCE को अक्षम करें

उदाहरण के लिए

, अगर मैं HTML स्रोत में इसे दर्ज करें:

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

मैं tiny_mce.js संपादित किया है (portal_skins में) स्थापित करने के लिए:

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

यह करने के लिए इसे परिवर्तित कर देंगे:

convert_urls:false, 
relative_urls:false, 

लेकिन कोई प्रभाव नहीं। मैंने यहां सभी समान पदों को पढ़ा है, लेकिन कोई भी वास्तव में इस प्रश्न का उत्तर नहीं देता है।

यह ठीक है अगर यह फाइल सिस्टम (यानी सूची) ब्राउज़ करके छवियों को चुनते समय सापेक्ष चीज करता है। मैं सिर्फ यह चाहता हूं कि मैं HTML बॉक्स में जो टाइप करता हूं उसका सम्मान करें ... ताकि मेरे पास उचित पथ को लागू करने का विकल्प हो। कुपु में यह मानक व्यवहार है।

कोई विचार?

+0

संभावित डुप्लिकेट [सापेक्ष एक के बजाय पूर्ण छवि यूआरएल का उपयोग करने के लिए TinyMCE जाओ] (https : //stackoverflow.com/questions/3796942/get-tinymce-to-use-full-image-url-instead-of-relative-one) –

उत्तर

39

tiny_mce_init.js में convert_urls: false सेट करें, tiny_mce.js नहीं। शुरुआती tiny_mce_init.js में आप window.tinyMCE.init को प्रारंभिककरण विकल्पों का एक गुच्छा पास करने के लिए एक कॉल देखेंगे। Products.TinyMCE में मैं देख रहा हूं, अंतिम विकल्प fix_list_elements: false है। वहां अपना विकल्प जोड़ें।

संपादित: tiny_mce_init.js नहीं रह गया है Products.TinyMCE 1.3.x में प्रयोग किया जाता है (प्लोन 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) 
+0

+1 सही उत्तर – Thariama

+2

धन्यवाद, दान। उसने ऐसा किया ऐसी तीन सेटिंग्स हैं जिन्हें आप यूआरएल हैंडलिंग को नियंत्रित करने के लिए समायोजित कर सकते हैं। वे convert_urls, relative_urls और remove_script_host हैं। उन सेटिंग्स को समायोजित करके, आप शायद वह व्यवहार प्राप्त कर सकते हैं जो आप चाहते हैं। वे चर tiny_mce_init.js में नहीं हैं - जैसे आपने कहा - आपको उन्हें जोड़ना होगा। – jdeluca

+4

उत्तरदाताओं को "कर्म अंक" प्राप्त करने के लिए सही "स्वीकृति" को भूलना न भूलें और सवाल बंद हो गया है। –

3

एक अन्य समाधान है पथ के बजाए प्रत्येक लिंक और छवियों के लिए यूआईडी का उपयोग करने के लिए नियंत्रण कक्ष के साथ TinyMCE को कॉन्फ़िगर करने के लिए, ताकि आप किसी मौजूदा जावास्क्रिप्ट को संशोधित न करें और आपके पास कोई सापेक्ष यूआरएल प्रदर्शित न हो।

20

आप tinymce.int में इन कॉन्फ़िगरेशन जोड़ना चाहिए:

relative_urls: false,

convert_urls: false,

remove_script_host : false,

की
संबंधित मुद्दे