![]() |
Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
![]() |
#7 |
Administrator
|
![]()
В продолжение этой темы, добавляю свой текст с форума typo3.net.ru (итого нескольких часов работы :-).
Извините, что повторяюсь... но очень хочется чтобы кто-то ответил :-)) ******************** Сейчас занимась поиском оптимального варианта работы по добавлению материалов из Word в RTE (при условии, что работает специалист-верстальщик). Пробуя разные советы и постепенно разбираясь в теме, склоняюсь к выводу, что должно быть какое-то предельно простое решение (несколько строк TS кода... добавить это в FAQ и все верстальщики будут счастливы) Поправьте, если ошибаюсь: Что может быть проще: 1)по умолчанию при RTE->DB происходит ТОЛЬКО чистка тегов (с этим более-менее понятно). Остается только включить таблицы и настроить эту самую чистку. Никакие лишние теги не добавляются, только очищаем. Для эстетов можно добавить замену STRONG на BR (или наоборот) 2)при выводе в FE тоже ничего лишнего в отношении стандарных тегов не добавляем (обрабатывает только ссылки, картинки и прочие специфичные для typo3 вещи). Стандартные теги управляются через внешний css-файл (верстальщику легко объяснить, где он лежит). В итоге получаем предсказуемое поведение движка (без вставки тегов p, котрые всё норовят испортить списки, хитроформатировнных списков и прочих вещей, которые сильно затрудняют \"быстрый старт\") Для специалиста-верстальщика важнее не широта функциональности, а полная управляемость и предсказуемость системы. Как я понял, пунты 1) и 2) не сделали по умолчанию из стремления обеспечить читаемость кода в RTE и, может быть, из желания угодить неквалифицированным пользователям. Ну еще, чтобы обеспечить работой консультанов по TYPO3 ***************************** Тема интересная... Похоже нужно сначала внимательно читать всю документацию У меня пошли проблемы, описанные в http://typo3.org/1422+M51663f96ae2.0.html?&tx_maillisttofaq_pi1[answered_only]=0&tx_maillisttofaq_pi1[sword]=wrapNonWrappedLines Как я понял, в базу по умолчанию кладется текст без \"лишних\" тегов p и div (если при них не стоит выравнивания и класса, то вместо них добавляется перевод строки). При создании страницы эти p вставляются снова. Какие-то объяснения по этому поводу есть в доке по RTE http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=214&tx_extrepmgm_pi1[tocEl]=472&cHash=38a8ce6a13 Похоже, сделано настолько сложно, что предлагаемый выше простой способ работы всех этих трансформаций потребует больших усилий. ************************* Как я понял, в трансформациях RTE->DB которые описаны в доке по RТE жестко прошито вырезание \"лишних\" тегов p и div (т.е. тех, у которых нет выравнивания или класса). И отключить это через TS нельзя. Поэтому люди изобретают хитрые способы не вставлять потом эти теги при отображении DB->RTE типа # вставлено из http://typo3.org/1422+M5b53f7e01e0.0.html?&tx_maillisttofaq_pi1[answered_only]=0&tx_maillisttofaq_pi1[sword]=RTE############################################## # #remove css attributes for p- and pre-tags tt_content.text.20.parseFunc.nonTypoTagStdWrap.enc apsLines.addAttributes { P.style= PRE.style=; } ############################################### ############################################### #no wrapping of RTE lines tt_content.text.20.parseFunc { nonTypoTagStdWrap.encapsLines.nonWrappedTag > nonTypoTagStdWrap.encapsLines.wrapNonWrappedLines = <p>|</p> } ############################################### ############################################### # settings for RTE-bullet lists tt_content.text.20.parseFunc.tags.typolist.default .wrap = <ul> | </ul> tt_content.text.20.parseFunc.tags.typolist.default .split.1.wrap = tt_content.text.20.parseFunc.tags.typolist.1.fontT ag = <ol> | </ol> tt_content.text.20.parseFunc.tags.typolist.1.split .1.wrap = ############################################### или еще вариант (тоже из FAQ) ######################### #rte bullet list conf tt_content.text.20.parseFunc { externalBlocks = ol, ul nonTypoTagStdWrap.encapsLines.nonWrappedTag > nonTypoTagStdWrap.encapsLines.wrapNonWrappedLines = <p> | </p> } ######################### Способы эти работают плохо (ссылки в списках не отображаются...) В общем куча проблем. И все из-за того, чтобы сделать userfriendly html-код, если юзеру вздумается отключить визуальный редактор. Как-то это все странно... Или я пока не разобрался? |
![]() |
![]() |