Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   HTMLArea, RTE, tinymce_rte и другие визуальные редакторы (http://forum.typo3.ru/forumdisplay.php?f=24)
-   -   Как всетаки настроить RTEHtmlArea? (http://forum.typo3.ru/showthread.php?t=3826)

razawa 25.06.2007 11:52

Как всетаки настроить RTEHtmlArea?
 
Моя цель: настроить редактор так, чтобы содержимое можно было вставлять из буфера обмена. И при этом текст не бился.
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

Только заметил ответ.
Цитата:

Сообщение от filippoff (Сообщение 16350)
dontConvBRtoParagraph = 1 в RTE.default.proc

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


Часовой пояс GMT +4, время: 12:19.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot