AJAX डालने के बाद TinyMCE के संपादक / दृश्य संपादक की शुरुआत करें


11

मेरे पास कस्टम विकल्प पृष्ठ पर "पुनरावर्तक" शैली फ़ील्ड समूह है। एक छिपे हुए राज्य में एक सक्रिय दृश्य संपादक है, और जब उपयोगकर्ता "नया जोड़ें" क्लिक करता है तो पूरी पंक्ति को क्लोन किया जाता है। मुझे तब क्लोन पंक्ति में विज़ुअल एडिटर को इनिशियलाइज़ करना होगा। मेरा कोड:

$('.repeater-add-new').click(function(event) {
    event.preventDefault();
    var target = $(this).data('repeater');
    $( '#' + target).find('.repeater-row:not(.clone) .repeater-content.in').collapse();
    var newRow = $( '#' + target + ' .repeater-row.clone' ).clone().appendTo( '#' + target + ' .repeater-row-wrapper' ).removeClass('clone');
    rebuildIndex(target);

    // Initialize editors if needed
    newRow.find('.wp-editor-wrap').each(function(index, el) {
        var ed_id = $(this).find('textarea').attr('id');

        tinymce.init(tinyMCEPreInit.mceInit[ed_id]);
        tinymce.execCommand('mceAddEditor', false, ed_id); 
        quicktags({id : ed_id});
    });
});

इंटरफ़ेस का स्क्रीनशॉट:

स्क्रीनशॉट

जब पृष्ठ लोड होता है, तो मुझे कंसोल त्रुटि मिलती है:

अनकैप्ड टाइपर्रर: अपरिभाषित की संपत्ति 'onpageload' नहीं पढ़ सकता है

और निश्चित रूप से संपादक काम नहीं करता है। पृष्ठ को सहेजने के बाद, यह ठीक काम करता है, लेकिन जब पंक्ति को जोड़ा जाता है, तो मुझे इसे कार्यात्मक बनाने की आवश्यकता होती है।


क्या आपको समस्या का समाधान 'onpageload'
Kvvaradha

ऐसा लगता है कि आपको त्वरित टैग के साथ कुछ चीजों को पंजीकृत करने की भी आवश्यकता हो सकती है। मुझे 100% यकीन नहीं है क्योंकि मैं इसे स्थानीय रूप से परीक्षण नहीं कर सकता, लेकिन आप stackoverflow.com/questions/21519322/… के साथ शुरू कर सकते हैं यह देखने के लिए कि क्या यह बिल्कुल मदद करता है।
फत्स्कट

अरे, फिर से इस पार आ गया। ओपी, क्या आप पोस्ट एडिटर में इन क्षेत्रों में से किसी एक को जोड़ने के लिए कृपया एक स्निपेट जोड़ सकते हैं? मैं कोशिश कर सकता हूं और इसे स्थानीय रूप से दोहरा सकता हूं और इसमें खुदाई कर सकता हूं यदि आप इसे खुद को खड़ा करने का एक तरीका प्रदान कर सकते हैं।
फाट्स्कैट

हे @ प्रभात, धन्यवाद। मैंने वास्तव में पूरी तरह से एक अलग दिशा में जाना समाप्त कर दिया ... ग्राहक वाणिज्यिक बिक्री के लिए इस प्रणाली को पैकेज करना चाहता था, इसलिए हमने एसीएफ के साथ एक कस्टम इंटरफ़ेस का उपयोग करके सब कुछ फिर से लिखा। मदद की पेशकश की सराहना!
जैक आर्टुरो

जवाबों:


1

क्या आपने अपने जावास्क्रिप्ट को शामिल किए बिना संपादक को काम करने के लिए प्रबंधित किया? यदि ऐसा है तो एक टेम्प्लेट बनाने का प्रयास करें जिसमें एक कार्यशील टिनीम संपादक शामिल है और फिर उस टेम्पलेट को कॉपी करने WithDataAndEventsके लिए jQuery clone()फ़ंक्शन के सत्य को सेट करने के लिए उस टेम्पलेट को कॉपी करने के लिए अपनी जावास्क्रिप्ट को फिर से लिखें ।

उदाहरण के लिए:

$('.cloner').click(function(){
  $('.container').append($('.template').clone(true).removeClass('hidden'));
});
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.