Powered by CodeIgniter

Советы и решения

(55)
10
10 голосов
Решаем проблемы вместе и передаем друг другу полезные знания.
После конвертации из Wordpress появилась проблема, источник которой, на первый взгляд, был тайной.

Проблема такая: после редактирования заметки, удалялись переносы строк. В исходном варианте абзацы были «обернуты» в span, а после редактирования span исчезал, а вместо него ничего не появлялось.
Сначала был обруган TinyMCE, потом стандартный Редактор. Потом настал черед Jevix.

Таинственности добавляло то, что при поиске span в исходниках ничего вроде preg_replace(span, '') не было. Помог, так сказать, метод научного тыка. Открывая подряд все файлы шестеренок, которые могли иметь к этому отношение, мне на глаза попалась фраза: Все не разрешённые теги считаются запрещёнными

После этого стало ясно, что тега span просто нет в списке разрешенных.

Вариант решения:

в файле /jevix/_hooks.php
в массив $tags добавить span.

Также можно добавить строку
$jevix->cfgAllowTagParams('span', array('style'));
Чтобы параметр style не удалялся.

Можно было бы во время переноса поменять все «спан» на «р», например, но в дальнейшем планируется импорт из Вордпресса.

П.С.
Вообщем, проблему это не решило, т.к. не все абзацы были обернуты в span, а TinyMCE убирал переносы строк, а взамен ничего не ставил. НО:
пошарившись на сайте tinymce.moxiecode.com/ я нашел несколько параметров, которые решили эти проблемы:
force_br_newlines: true,
force_p_newlines: false,
remove_linebreaks: false,
convert_newlines_to_brs: true,

Это нужно дописать в файле tinymce/_hooks.php
19:48 ← 24 мая 2011 Отправить в Твиттер ramirRamir  RSS comments 2

Комментарии (2) ↓

admin admin time 10:33 ← 25 мая 2011 #
Спасибо! Полезно знать.
Span — это строчный элемент. Если к нему стили не были привязаны особенные на прошлой версии сайта, то влиять на перенос строк это никак не должно.
Автор
Ramir Ramir time 01:21 ← 30 мая 2011 #
да. Но, кстати, TinyMCE цвет шрифта меняет с помощью span, а jevix этот тег затирает. Так что правка все равно оказалась полезной.