PDA

Просмотр полной версии : Убрать <p> вокруг <HR>


Tod
21.04.2007, 22:24
Когда в тексте вставляю <HR>, то он обязательно оборачивается в тэг <p>, что в свою очередь приводит к нехорошим последствиям в плане дизайна:)
Когда вставляется текст в РТЕ например:
<h1>йцу</h1>
<hr>
<h5>la-bla-bla</h5>
то в результате получаем
<h1>йцу</h1>
<p class="bodytext"><hr>
<h5>la-bla-bla</h5>...
Если <hr> попадает внутрь <h1>, то выводится перед ним <p class="bodytext">

Хочу узнать у вас как убрать это кощунтво?
Нашел в гугле только одну ссылку по этому поводу и то проблема там решена не была:(
По идее ведь те же h1 не оборачиваются, может где-то это для них задается и можно добавить туда и тэг hr

РЕШЕНИЕ к сожалению глючит - например ссылка после hr не работает.
lib.parseFunc_RTE.externalBlocks = table, blockquote, ol,ul,hr
lib.parseFunc_RTE.externalBlocks.hr.stripNL = 1

PhilD
21.04.2007, 22:57
Если я не ошибаюсь: копать parseFunc_RTE,
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.en capsTagList = ...добавить hr

lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.en capsTagList = div,p,pre,h1,h2,h3,h4,h5,h6,hr

да здравствует TypoScriptObjectBrowser ;)

Tod
22.04.2007, 00:15
да здравствует TypoScriptObjectBrowser ;)
Согласен, потому там я уже копал :)
И докопался точно до такого же решения, но к моему удивлению оно почему-то работать не хочет:(
Причем удивительно то, что если я допустим уберу оттуда h1, то вокруг этого заголовка появился тэг <p>, но если добавлю hr, он от него не уберется))

PhilD
22.04.2007, 00:42
allowTagsOutside = hr пробовали?

Tod
22.04.2007, 02:18
Да, но также непомогло.

PhilD
22.04.2007, 02:32
помогла добавка сюда

lib.parseFunc_RTE.externalBlocks = table, blockquote, ol,ul,hr

Tod
22.04.2007, 03:58
Хм... у меня эта настройка привела к тому, что вместо того, чтобы отображаться вокруг <p class="bodytext">&nbsp;</p> hr данная конструкция расположилась перед hr...
Интересно! но не совсем то, что нужно... может у тебя есть еще какие-то доп. настройки для редактора?

PhilD
22.04.2007, 09:39
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.en capsTagList = div,p,pre,h1,h2,h3,h4,h5,h6,hr
lib.parseFunc_RTE.externalBlocks = table, blockquote, ol,ul,hr

и все
TYPO 4.0.4, rtehtmlarea 1.3.8.

Tod
22.04.2007, 14:30
а у меня TYPO 4.1, rtehtmlarea 1.5.1dev.
и не работает:)

PhilD
22.04.2007, 17:01
интересно... баг? есть возможность на другой установке попробовать? да, RTE в режиме demo у меня, там allowTagsOutside = hr, adress по умолчанию стоит

RTE.default {
hideTableOperationsInToolbar = 1
keepToggleBordersInToolbar = 1
showButtons (
class,copy,cut,paste,
bold, italic, image,
orderedlist, unorderedlist, outdent, indent, left, center, right, justifyfull,
insertcharacter, link, table, findreplace, chMode, removeformat, undo, redo,
toggleborders, tableproperties,
rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit,
columninsertbefore, columninsertafter, columndelete, columnsplit,
cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge
)

}

вот и вся настройка

еще мысль - может что-то вроде как у "соседей" в ветку lib.parseFunc_RTE.externalBlocks добавить :
[hr]
[stripNL]=1
[stdWrap]
[parseFunc]=< lib.parseFunc

Однако! и правда не работает! Только если hr 1-я работает!?

судя по всему дело в одиночности тега hr. Помогло только принудительное отключение оборачивание в p вообще - но это не очень тянет на решение...

Tod
22.04.2007, 19:18
Проверил также на типо3 4.0 + РТЕ1.4.4. и на типо3 4.1.1. + РТЕ1.5.2 = безрезультатно:(

PhilD
22.04.2007, 22:12
lib.parseFunc_RTE.externalBlocks = table, blockquote, ol,ul,hr
lib.parseFunc_RTE.externalBlocks.hr.stripNL = 1
lib.parseFunc_RTE.externalBlocks.hr.stdWrap.parseF unc = < lib.parseFunc

У меня работает между двух h1. проверяйте :)

Tod
22.04.2007, 22:47
Отличная работа! Решение имеет право на жизнь:) ибо со своими задачами справляется на все 100%.
Как говорится - в мэмориз!
PhilD, огромное спасибо!

Tod
05.05.2007, 02:38
Похоже тема опять актуальна!!
Решение начинает глючить, если после HR идет например ссылка.

PhilD
05.05.2007, 02:53
Поразбиравшись, понял, что решение неверно в принципе, хотя может частично работать :( т.к. hr на блок явно не тянет, а в контексте externalBlocks требуется именно и только блок.