2015-09-19 14 views
6

मैं के लिए तालिका शैली को बदलने की कोशिश कर रहा हूं, क्योंकि यह इसे आउटपुट करता रहता है।सीकेडिटर - तालिका शैली बदलें

<table class="ckeditor_table" style="width: 100%;border-collapse:collapse;border-spacing:0;table-layout:fixed;border: 2px solid #333;background:#fff;"><tr><td style="border: 1px dashed #999;padding: 3px 5px;vertical-align: top;min-height:20px;"> 
    </td><td style="border: 1px dashed #999;padding: 3px 5px;vertical-align: top;min-height:20px;"> 
    </td><td style="border: 1px dashed #999;padding: 3px 5px;vertical-align: top;min-height:20px;"> 
    </td><td style="border: 1px dashed #999;padding: 3px 5px;vertical-align: top;min-height:20px;"> 
    </td><td style="border: 1px dashed #999;padding: 3px 5px;vertical-align: top;min-height:20px;"> 
    </td></tr><tr><td style="border: 1px dashed #999;padding: 3px 5px;vertical-align: top;min-height:20px;"> 
    </td><td style="border: 1px dashed #999;padding: 3px 5px;vertical-align: top;min-height:20px;"> 
    </td><td style="border: 1px dashed #999;padding: 3px 5px;vertical-align: top;min-height:20px;"> 
    </td><td style="border: 1px dashed #999;padding: 3px 5px;vertical-align: top;min-height:20px;"> 
    </td><td style="border: 1px dashed #999;padding: 3px 5px;vertical-align: top;min-height:20px;"> 
    </td></tr><tr><td style="border: 1px dashed #999;padding: 3px 5px;vertical-align: top;min-height:20px;"> 
    </td><td style="border: 1px dashed #999;padding: 3px 5px;vertical-align: top;min-height:20px;"> 
    </td><td style="border: 1px dashed #999;padding: 3px 5px;vertical-align: top;min-height:20px;"> 
    </td><td style="border: 1px dashed #999;padding: 3px 5px;vertical-align: top;min-height:20px;"> 
    </td><td style="border: 1px dashed #999;padding: 3px 5px;vertical-align: top;min-height:20px;"> 
</table> 

मैं बजाय इस तरह उत्पादन कुछ करना चाहते हैं।

<table class="table"> 
<tr> 
<td></td> 
<td></td> 
<td></td> 
</tr> 
</table> 

मैं इसे कैसे संभव बना सकता हूं? मैंने config.allowedContent = true; की कोशिश की है लेकिन यह काम नहीं किया है, यह अभी भी मेरे अंधेरे विषय पर कष्टप्रद सफेद पृष्ठभूमि आउटपुट करता है।

मैं MyBB के लिए प्लगइन का उपयोग कर रहा हूं।

उत्तर

3

जब आप mybb ckeditor प्लगइन के source code को देखते हैं, तो आप देख सकते हैं कि वे आपके द्वारा पोस्ट की गई इनलाइन शैली को प्रिंट करते हैं।

while(preg_match("#\[table\](.*?)\[/table\]#si", $m, $m1)) 
{ 
    while(preg_match("#\[tr\](.*?)\[/tr\]#si", $m1[1], $m2)) 
    { 
     $m2[1] = preg_replace("#\[td\](.*?)\[/td\]#si", '<td style="border: 1px dashed #999;padding: 3px 5px;vertical-align: top;min-height:20px;">$1</td>', $m2[1]); 
     $m1[1] = str_replace($m2[0], '<tr>'.$m2[1].'</tr>', $m1[1]); 
    } 
    $m = str_replace($m1[0], '<table class="ckeditor_table" style="width: 100%;border-collapse:collapse;border-spacing:0;table-layout:fixed;border: 2px solid #333;background:#fff;">'.$m1[1].'</table>', $m); 
} 

आप 'इंक/plugins/CKEditor/hooks.php' फ़ाइल से इनलाइन शैली को दूर कर सकता है, लेकिन यह एक बुरा व्यवहार (मुद्दों जब अद्यतन) है।

इसलिए मैंने small plugin लिखा, जिसे आप अपने प्लगइन फ़ोल्डर में कॉपी कर सकते हैं और सक्रिय कर सकते हैं (फ़ाइल नाम cktableoverride.php होना चाहिए)।
प्लगइन उसी घटना में हुक करता है जो ckeditor प्लगइन टेम्पलेट को ओवरराइड करने के लिए उपयोग करता है। जब प्लगइन सक्रिय होता है, तो आपको इनलाइन शैलियों के बिना एक टेबल संरचना मिल जाएगी, ताकि आप इसे सीएसएस के माध्यम से स्टाइल कर सकें (या प्लगइन कोड में अपनी खुद की इनलाइन शैली जोड़ें)।

+0

आपको बहुत बहुत धन्यवाद! मैं आगे बढ़ जाऊंगा और आज रात कोशिश करूँगा! –

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