Вход

Просмотр полной версии : Как всетаки настроить RTEHtmlArea?


razawa
25.06.2007, 11:52
Моя цель: настроить редактор так, чтобы содержимое можно было вставлять из буфера обмена. И при этом текст не бился.
1. Думаю этот вопрос поднимался, но не нахожу ответа. Копирую в буфер из ИЕ - вставляются одни теги (<strong>), из FF - другие (<b>).
Есть готовый сайт, информацию копировать придется вручную. Многие страницы были созданы вручную без помощи html-редакторов, с тегами может быть бардак. Поэтому и такая проблема.
2. Еще одна проблема, решения которой вообще не нашел. Да и не встречал такой проблемы ни у кого:
Вставил из буфера контент. Сохранил его. Вроде бы все нормально. Тут же сохраняю еще раз - а после каждого "</p>" появляется "<p>&nbsp;</p>", еще раз сохраняю - еще один - и так, сколько раз сохраню, на столько текст и раздвигается. И на каком-то сохранении пропадают жирности или выравнивания. А если текст или html-код ввожу прямо в RTE - этой проблемы нет. Только из буфера. Прям не знаю что и делать. :-(

В следующем посте приведу TS-Config.
Если настройки все свои убираю, оставляю по-умолчанию, то проблема № 2 пропадает.

razawa
25.06.2007, 11:56
Мой TS-Config
Я тут наваял уже столько, что сам запутался.
RTE.default {
# contentCSS = fileadmin/css/rte.css

enableWordClean = 1
removeTrailingBR = 1
removeComments = 1
showTagFreeClasses = 1
removeTags = sdfield
disableEnterParagraphs = 1
allowTagsOutside = img,hr,center,
allowedAttribs = style, color, align

showButtons = *
keepButtonGroupTogether = 1
showStatusBar = 0

)

# Use stylesheet file rather than the above mainStyleOverride and inlineStyle properties to style the contents (htmlArea RTE only)
ignoreMainStyleOverride = 1

proc {
# overruleMode = ts_css
allowTags = table, tbody, tr, th, td, h1, h2, h3, h4, h5, h6, div, p, br, span, ul, ol, li, re, blockquote, b, i, u, sub, sup, strike, a, img, nobr, hr, tt, q, cite, abbr, acronym, center, font
removeTags = sdfield
allowedAttribs = style, color, align
dontConvBRtoParagraph = 1
allowTagsOutside = img,hr,center,b,div,i,font,table,h1,h2,h3,h4,h5,h6 ,span,ul,br
keepPDIVattribs = align,class,style,id,color

HTMLparser_rte {
allowTags < RTE.default.proc.allowTags
allowedAttribs = style, color, align
dontConvBRtoParagraph = 1
removeComments = 1

}

entryHTMLparser_db = 1
entryHTMLparser_db {
allowTags < RTE.default.proc.allowTags
removeTags < RTE.default.proc.removeTags
keepNonMatchedTags = 1
dontConvBRtoParagraph = 1
allowTagsOutside < RTE.default.proc.allowTagsOutside
allowedAttribs = style, color, align
noAttrib = b, i, u, strike, sub, sup, strong, em, quote, blockquote, cite, tt, br, center
tags >
}
exitHTMLparser_db {
tags >
keepNonMatchedTags = 1
dontConvBRtoParagraph = 1
}
}

classesParagraph (
align-left, align-center, align-right, sourceCode
)

classesCharacter = author
classesImage= rte_image
classesAnchor = external-link, external-link-new-window, internal-link, internal-link-new-window, download, mail

classesAnchor.default {
page = internal-link
url = external-link-new-window
file = download
mail = mail
}

showTagFreeClasses = 1
# hideTags = font

hideTableOperationsInToolbar = 0
keepToggleBordersInToolbar = 1

disableSpacingFieldsetInTableOperations = 1
disableAlignmentFieldsetInTableOperations=1
disableColorFieldsetInTableOperations=1
disableLayoutFieldsetInTableOperations=1
disableBordersFieldsetInTableOperations=0
}

razawa
26.06.2007, 10:57
Нашел причину проблемы. Это же надо такому случится - тот пример, который я загоняю в контент (несколько страниц одной тематики) сделан с множеством ошибок кода html. Много закрывающихся тегов </p> и </font>, </span>, а открывающихся к ним нет.
И все летит в тартарары. Плюс к тому же добавляются вот такие: <//font>, <//span>.

Но теперь вопрос - есть ли в настройках функция удаления таких тегов (свободных закрывающихся)? Или вручную чистить контент?

"keepNonMatchedTags = 0" не помог. Или я не правильно понимаю его цель.

P.S. Только что заметил, что если копировать в буфер из FireFox, а вставлять в контент в IE - эти теги плохие пропадают. Правда добавляется много лишних тегов и появляются другие проблемы.

razawa
26.06.2007, 11:15
Вообще заметил странность, такую, что: вставляю из буфера в RTE текст с форматированием (из того же FireFox), сохраняю контент (с возвратом на его редактирование), форматирование вроде бы осталось, в RTE нажимаю на просмотр HTML, возвращаюсь на обычный просмотр и форматирование теряется. Тоесть сам HTMLArea при переходе на HTML вносит свои корректировки.

razawa
26.06.2007, 11:30
Простите меня грешного :-)
вручную почистил все страницы от лишних тегов - вроде бы пока все нормально работает.

А вообще - вопрос коррекции неправильного HTML-кода я думаю актуален.

Feo
21.11.2007, 15:20
Тут парсить надо: stdWrap.parseFunc < tt_content.text.20.parseFunc

razawa
29.11.2007, 17:36
И снова я! Со своими проблемами.
Никак не решу проблему вставки лишних <p>&nbsp;</p>
TYPO3 4.1.1, rtehtmlarea 1.5.2

Описываю, что я делаю:
1. создаю новый текстовый элемент. В RTE сразу перехожу в "HTML-код"
2. создаю html-код такого вида: <p>11111111</p>
<center>222222</center>
3. сохраняю текстовый элемент.
4. После сохранения, пока не загрузился редактор проскакивает такой код:
<p>11111111</p>
<p><center>222222</center></p>
(это, в принципе понятно откуда, хотя может его бы отключить)
5. После того как загрузился RTE в "HTML-коде" вот такое:
<p>11111111</p>
<p></p><center>222222</center><p></p>
6. Соответственно, если сейчас нажать "Сохранить", то <center> опять обволокется <p>...</p> и опять, и опять. А пустые <p></p> превращаются в <p>&nbsp;</p>
И процесс этот бесконечен.

Попробуйте. Или это только я так мучаюсь?
Таких страниц у меня много, и там не только <center>, но и другие теги вне <p></p>, у них аналогичная ситуация.

Как с этим бороться?

TSConfig:
RTE.default {
blindImageOptions = magic,dragdrop
showButtons = *

proc {
removeTags = sdfield
# чтобы не искали - center есть в слудющих двух параметрах
allowTagsOutside = table, tbody, tr, th, td, h1, h2, h3, h4, h5, h6, div, p, br, span, ul, ol, li, re, blockquote, b, i, u, sub, sup, strike, a, nobr, hr, tt, q, cite, abbr, acronym, center, font, img
allowTags = table, tbody, tr, th, td, h1, h2, h3, h4, h5, h6, div, p, br, span, ul, ol, li, re, blockquote, b, i, u, sub, sup, strike, a, nobr, hr, tt, q, cite, abbr, acronym, center, font, img

tags.p.allowedAttribs = class, style

HTMLparser_rte = 1
HTMLparser_rte {
removeTags < RTE.default.proc.removeTags
allowTagsOutside < RTE.default.proc.allowTagsOutside
allowTags < RTE.default.proc.allowTags
htmlSpecialChars = 1
tags >
}
entryHTMLparser_db = 0
entryHTMLparser_db {
removeTags < RTE.default.proc.removeTags
allowTagsOutside < RTE.default.proc.allowTagsOutside
allowTags < RTE.default.proc.allowTags
htmlSpecialChars = 1
keepNonMatchedTags = 1
}
HTMLparser_db = 0
HTMLparser_db {
allowTags < RTE.default.proc.allowTags
htmlSpecialChars = 1
keepNonMatchedTags = 1
tags >
}
exitHTMLparser_db = 0
exitHTMLparser_db {
removeTags < RTE.default.proc.removeTags
allowTagsOutside < RTE.default.proc.allowTagsOutside
allowTags < RTE.default.proc.allowTags
htmlSpecialChars = 1
keepNonMatchedTags = 1
}

}
enableWordClean = 1
disableAlignmentFieldsetInTableOperations = 0
disableSpacingFieldsetInTableOperations = 0
disableColorFieldsetInTableOperations = 0
disableLayoutFieldsetInTableOperations = 0
disableBordersFieldsetInTableOperations = 0
}



# Use same processing as on entry to database to clean content pasted into the editor
RTE.default.enableWordClean.HTMLparser < RTE.default.proc.entryHTMLparser_db
RTE.default.FE >

razawa
30.11.2007, 17:30
В классе t3lib_parsehtml_proc добавил в переменную $headListTags значение "CENTER"
с этим тегом проблема ушла. Жду проявления других тегов. Пока вроде бы лишнего не добавляет.

P.S. И к Typo3 претензий то не предъявишь - тег CENTER в w3c не рекомендуется использовать :-)

filippoff
30.11.2007, 18:55
сдаётся мне что нужно добавить

dontConvBRtoParagraph = 1 в RTE.default.proc

но это так, смутное ощущение :)

razawa
24.01.2008, 10:30
Только заметил ответ.
dontConvBRtoParagraph = 1 в RTE.default.proc
Хм. Я знал про это свойство, и раньше так и было. А в этой версии конфига потерял его :-( Кстати, когда оно было - проблема с <center>, на сколько я помню, была.
Но, как говорится: "работает - НИЧЕГО не трогай" :-) Хотя это всетаки пропишу.