Показать сообщение отдельно
Старый 22.02.2004, 22:09   #8
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию

Помоему, правильный путь такой:
1) в TSConfig
### RTE Configuration CONSTANTS ###
RTE.default {
proc.overruleMode = ts_css
proc.dontConvBRtoParagraph=1
}

#это наверняка не нужно
RTE.default.proc.dontProtectUnknownTags_rte=1

#а это наверняка нужно
RTE.default.proc.dontProtectUnknownTags_db=1

#а вот это не работает, поэтому придется патчить
#файл class.t3lib_parsehtml_proc.php
RTE.default.proc.entryHTMLparser_rte = 0
RTE.proc.entryHTMLparser_rte = 0

#это вроде как работает
RTE.default.proc.entryHTMLparser_db = 1
RTE.default.proc.entryHTMLparser_db{
denyTags=
allowTags=table,tr,td,p,font,div,img,hr,b,i,u,a,br ,pre,strong,em,li,ul,ol,span,h1,h2,h3,h4,h5,h6
noAttrib = table,tr,td,h1,h2,h3,h4,h5,h6
tags {
#это позволяет не резать p при добавлениии в DB
p.rmTagIfNoAttrib=1
}
}


2) Что патчить: class.t3lib_parsehtml_proc.php
см. http://typo3api.ueckermann.de/classt3lib__parsehtml__proc.htm
Пока не могу проверить на своем сайте, как проверю, напишу.
по-моему нужно закоментировать вот это (можно ориетироваться по номерам строк):


01190
// Wrapping the line in <$dT> is not already wrapped:
01191 $testStr = strtolower(trim($parts[$k]));
01192 if (substr($testStr,0,4)!='<div' || substr($testStr,-6)!='</div>') {
01193 if (substr($testStr,0,2)!='<p' || substr($testStr,-4)!='</p>') {
01194 // Only set p-tags if there is not already div or p tags:
01195 $parts[$k]='<'.$dT.'>'.$parts[$k].'</'.$dT.'>';
01196

Вопросы все равно остаются: почему сделано именно так, и ведь, главное, не сделали конфигурируемость!!!
Может я не вижу каких-то подводный камней?
Valery Romanchev вне форума   Ответить с цитированием