Z jakiegoś powodu, FCKEditor oraz CKEditor automatycznie zawija treści wpisane w pole tekstowe w tag <p> </p>. Czasami może to powodować pewne problemy w wyświetlanej treści na naszej stronie. Zamiast próbować rozwiązać ten problem przy pomocy CSS, można użyć szybkiego i łatwego sposobu, aby włączyć auto-wrap w edytorze: Zmiana trybu EnterMode z ustawienia ’p’ do ‚br’.
Istnieje kilka sposobów, aby sobie z tym poradzić:
Usuwanie tagu <p> dla FCKEditor:
Edytuj fckconfig.js :
Zamień wpis:
FCKConfig.EnterMode = ‚p’; na FCKConfig.EnterMode = ‚br’;
Jeśli używasz ustawień w obiekcie PHP, możesz to zrobić tak:
<?php
include_once('fckeditor/fckeditor.php');
$oFCKeditor = new FCKeditor('description');
$oFCKeditor->BasePath = '/fckeditor/';
$oFCKeditor->Value = 'some text';
$oFCKeditor->Config['EnterMode'] = 'br';
$oFCKeditor->Create();
?>
Usuwanie tagu <p> dla CKEditor:
Edytuj config.js :
Dodaj wpis:
config.enterMode = CKEDITOR.ENTER_BR;
Twój plik konfiguracyjny, powinien wyglądać następująco:
CKEDITOR.editorConfig = function( config )
{
// Define changes to default configuration here. For example:
// config.language = 'fr';
// config.uiColor = '#AADC6E';
config.enterMode = CKEDITOR.ENTER_BR;
};
Dla CKEditor dostępne są 3 tryby enterMode:
CKEDITOR.ENTER_P (1): tworzony jest nowy <p> paragraphs </p>
CKEDITOR.ENTER_BR (2): nowy wiersz <br>
CKEDITOR.ENTER_DIV (3): tworzone są <div>nowe bloki </div>
Jeśli chcemy zmienić jeden z trybów enterMode tylko dla wybranego edytora, można użyć takiego zapisu:
CKEDITOR.replace( 'editor1' ,
{
enterMode : Number(2),
}
Jeśli używasz ustawień w obiekcie PHP, możesz to zrobić tak:
<?php
include_once('ckeditor/ckeditor.php');
$oCKEditor = new CKEditor() ;
$oCKEditor->returnOutput = true;
$oCKEditor->basePath = 'ckeditor/';
$oCKEditor->config['width'] = 600;
$oCKEditor->config['enterMode'] = 'CKEDITOR.ENTER_BR';
$CKEOutput = $oCKEditor->editor("Opis","some text",$config);
?>
25 września 2011 |