top of page

Jak naprawić błąd w qTranslate związany z usuwaniem formatowania <p> oraz <br>?

Zdjęcie autora: Piotr BartczakPiotr Bartczak

Kilka dni temu zgłosił się do nas jeden z klientów z dość dziwnym problemem. Okazało się, że podczas zapisywania edytowanych wpisów traci część formatowania. Co ciekawe kilka dni później podobny problem pojawił się na forum Fani WordPressa (GoldenLine).

Sprawa dotyczyła w zasadzie jedynie: zakończenia paragrafów <p> oraz pustych linii <br />.

Po krótkim badaniu okazało się, że za problemy odpowiada popularna wtyczka qTranslate (służąca do wprowadzania wielojęzyczności w serwisach opartych na WordPressie).

Istnieje jednak dość proste rozwiązanie, które odnalazłem na forum użytkowników qTranslate.

Należy wyedytować plik qtranslate_wphacks.php znajdujący się w katalogu głównym wtyczki qTranslate.

W pliku tym odnajdujemy fragment rozpoczynający się komentarzem: // do some crazy js to alter the admin view” (linia nr 89)

i kończący się komentarzem // insert language, visual and html buttons” (linia nr 106).

Powinien wyglądać on jak poniżej:

	// do some crazy js to alter the admin view
	$content .="\n// <![CDATA[\n";
	$content .="function qtrans_editorInit1() {\n";

	// include needed js functions
	$content .= $q_config['js']['qtrans_is_array'];
	$content .= $q_config['js']['qtrans_xsplit'];
	$content .= $q_config['js']['qtrans_split'];
	$content .= $q_config['js']['qtrans_integrate'];
	$content .= $q_config['js']['qtrans_use'];
	$content .= $q_config['js']['qtrans_switch'];
	$content .= $q_config['js']['qtrans_assign'];
	$content .= $q_config['js']['qtrans_save'];
	$content .= $q_config['js']['qtrans_integrate_title'];
	$content .= $q_config['js']['qtrans_get_active_language'];
	$content .= $q_config['js']['qtrans_hook_on_tinyMCE'];

	// insert language, visual and html buttons

Tutaj musimy trochę pomieszać, aby w efekcie otrzymać następujący wynik:

        // do some crazy js to alter the admin view
	$content .="\n// <![CDATA[\n";

	// Deklarujemy funkcje globalne uzywane w roznych miejscach
	$content .= $q_config['js']['qtrans_xsplit'];
 	$content .= $q_config['js']['qtrans_is_array'];
 	$content .= $q_config['js']['qtrans_split'];
 	$content .= $q_config['js']['qtrans_integrate'];

	// Dodajemy prywatne funkcje, ktore wczesnie byly na poczatku
	$content .="function qtrans_editorInit1() {\n";

	// include needed js functions
	$content .= $q_config['js']['qtrans_use'];
	$content .= $q_config['js']['qtrans_switch'];
	$content .= $q_config['js']['qtrans_assign'];
	$content .= $q_config['js']['qtrans_save'];
	$content .= $q_config['js']['qtrans_integrate_title'];
	$content .= $q_config['js']['qtrans_get_active_language'];
	$content .= $q_config['js']['qtrans_hook_on_tinyMCE'];

	// insert language, visual and html buttons

Potem oczywiście nadpisujemy oryginalny plik i wszystko powinno być już OK!

Czy też spotkaliście się z podobnym problemem? A może znacie inne rozwiązanie?

0 wyświetleń0 komentarzy

Ostatnie posty

Zobacz wszystkie

Comments


bottom of page