2015-09-19 6 views
6

のテーブルスタイルを変更しようとしています。CKeditor - テーブルスタイルを変更する

<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;を試しましたが、それは動作しませんでした、それはまだ私の暗いテーマで迷惑な白い背景を出力します。

私は012B283878プラグインを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); 
} 

あなたは「INC /プラグイン/ CKEditorバージョン/ hooks.php」ファイルからインラインスタイルを削除することができ、それは悪い習慣(問題更新)です。

small pluginと書いてありますので、プラグインフォルダにコピーして有効にしてください(ファイル名はcktableoverride.phpにする必要があります)。
プラグインは、ckeditorプラグインがテンプレートを上書きするのと同じイベントにフックします。 プラグインがアクティブになると、インラインスタイルのないテーブル構造が得られるので、cssでスタイルを設定する(またはプラグインコードで独自のインラインスタイルを追加する)ことができます。

+0

ありがとうございました!私は先に進み、今夜これを試してみましょう! –

関連する問題