2015-09-19 18 views
6

Tablo çıktısını almayı sürdürdüğünden, tablo stilini için değiştirmeye çalışıyorum.CKeditor - Tablo stilini değiştir

<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> 

yerine böyle çıktı şeye istiyorum.

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

Nasıl bu mümkün yapabilirim? Ben config.allowedContent = true; denedim ama bu işe yaramadı, hala karanlık tema üzerinde can sıkıcı beyaz arka çıktı.

MyBB için eklentisini kullanıyorum.

cevap

3

mybb ckeditor eklentisinin source code'una baktığınızda, gönderdiğiniz satır içi stilini yazdırdıklarını görebilirsiniz.

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); 
} 

Sen 'inc/plugins/ckeditor/hooks.php' dosyasından satır içi stil kaldırmak olabilir, ama bu (sorunlar olduğunda güncelleme) kötü bir uygulamadır.

Bu yüzden, eklenti klasörüne kopyalayıp etkinleştirebileceğiniz bir small plugin yazdım (dosya adı cktableoverride.php olmalıdır).
Eklenti, ckeditor eklentisinin şablonu geçersiz kılmak için kullandığı aynı etkinliğe kancalar. Eklenti etkinleştirildiğinde, satır içi stilleri olmayan bir tablo yapısına sahip olacaksınız, böylece css ile stil oluşturabilir (veya eklenti kodunda kendi satır içi stilinizi ekleyebilirsiniz).

+0

Çok teşekkür ederim! Devam edip bu gece bunu deneyeceğim! –