Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
12.12.2007, 16:45 | #1 |
Senior Member
Регистрация: 13.11.2006
Сообщений: 180
|
Typo3, XHTML и семантика
Почему Typo3 выдаёт такой мусорный код?
Код HTML:
<div class="csc-header-n1"><div class="csc-header-n1-wrap"><h1 class="csc-firstHeader">Hello, World!</h1></div></div> Как с этим бороться? Как убрать все лишние тэги? |
12.12.2007, 17:05 | #2 |
Senior Member
|
В общем случае надо смотреть CSS Styled Content - в нем все и определяется. В частных случаях (какие-либо отдельно взятые экстеншны) в папке с экстеншном.
Настроить можно все. |
12.12.2007, 18:38 | #3 |
Senior Member
Регистрация: 13.11.2006
Сообщений: 180
|
Я понимаю, что можно всё настроить. Но зачем они вообще это сделали?
Настраивать можно в CSS Styled Content, но тогда это коснётся всех сайтов которые висят на одной CMS. Кстати, как сделать так, чтобы заголовок первого pagecontent'a был просто в тэге h2, а заголовки во всех остальных pagecontent'ах -- в тэге h3? Пока сделал так: Код:
lib.stdheader > lib.stdheader = TEXT lib.stdheader { field = header stdWrap.wrap = <h2>|</h2> } |
12.12.2007, 19:42 | #4 |
Senior Member
|
Тут где-то в одной из тем посвященных RTE были приведены настройки при помощи TS - может быть это поможет.
Хотя, честно сказать, не особенно понимаю смысла всего этого просто потому что ни разу не видел сайты, которые бы действительно соответствовали бы принципам семантической верстки. Причем не только в рунете, но и в сети вообще. |
12.12.2007, 21:14 | #5 |
Senior Member
Регистрация: 09.12.2007
Сообщений: 281
|
Грубой силой:
Код:
lib.stdheader.3 { headerNum1 = 1 headerNum1.if { value = 1 equals.data = cObj:parentRecordNumber } headerNum2 = 2 headerNum2.if { negate = 1 value = 1 equals.data = cObj:parentRecordNumber } } lib.stdheader.10.1.fontTag = <h{register:headerNum1}{register:headerNum2}{register:headerStyle}>|</h{register:headerNum1}{register:headerNum2}> NiKRON: как избавиться от внешнего див-а найдете в ТемплейтБраузере по аналогии. |
13.12.2007, 11:49 | #6 |
Senior Member
Регистрация: 13.11.2006
Сообщений: 180
|
UncleByte, плохо что не понимаете смысла. А смысл очень даже простой: HTML -- это язык разметки, в котором размечаются данные. Так зачем мне класть единственный в документе тэг h2 в два div'a да ещё и класс прописывать? Просто h2. Я помещаю следующий pagecontent на страницу и логично, что он не будет главнее или на одном уровне с моим первым pagecontent'ом. Значит я его помещаю в h3. Намного проще работать с простыми тэгами, и логично оформленным документом. Тоже касается и обозначения блоков уникальными именами, сответствующими содержимому. Когда структура документа прозрачна и логична, нам самим легче в нем ориентироваться. Если мне нужно будет, то я добавлю дополнительный тэг, но зачем это делать по-умолчанию -- непонятно.
Семантически правильно сверстанные сайты есть, просто их мало. Надо стремиться к совершенству и улучшать вёрстку документа. pomotom, спасибо большое. Не могли бы разъяснить немного? parentRecordNumber возвращает номер заголовка? А где можно подробнее узнать о таких вещах. В TSref такого вообще нет. Опять же, принцип написания таких вещей как lib.stdheader.3... почему именно 3? lib.stdheader.10.1.... почему именно 10, а потом 1? Вообще TSref и другие документации по TypoScript написаны ужасным языком. Нечеловеческим. Как буд-то машина писала. (( Убрал внешний div с помощью кода: Код:
lib.stdheader.stdWrap.dataWrap > Последний раз редактировалось NiKRON; 13.12.2007 в 12:26 |
13.12.2007, 16:56 | #7 | |
Senior Member
|
Цитата:
Вполне TYPO3-way. Не пугайтесь таких вещей, в этом и есть смысл TypoScript с его геморойным синтаксисом. Я иногда еще свой счетчик в регистре завожу для случаев когда у TYPO3 зацепиться не за что (например, вывод картинок из одного поля с разным отображением). |
|
13.12.2007, 20:43 | #8 | |
Senior Member
Регистрация: 09.12.2007
Сообщений: 281
|
Цитата:
Кроме ТСрефа классная дока - основы шаблона, но про это там нет. Доки собственно к ЦСС стайлед по-моему нет, и это порой особенно когда хочешь поправить вывод изображений Свойства объектов искать в АПИ (сам не копал) или прямо в структуре данных, благо обращение с таблицам из ТС есть. parentRecordNumber наверное относится к объекту, а не к заголовку. Павел, а else у if в TS точно нет, или это я ступил? |
|
14.12.2007, 01:03 | #9 |
Senior Member
|
NiKRON, зачем делать "прозрачную" верстку я прекрасно понимаю, более того, всецело поддерживаю и сам уже несколько лет только так и верстаю, но, на мой взгляд, эта избыточность кода в Typo3 бывает очень полезна, хотя, конечно, не всегда востребована.
Возможно что отключать ее было бы полезно, но если это приходится делать таким путем как предложено выше, то я предпочту оставить ее в покое. Я именно это имел в вижу и ничего более |
14.12.2007, 02:28 | #10 |
Senior Member
|
Нет. В зависимости от ситуации можно использовать CASE, override (stdWrap), COA (c if в stdWrap)
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Typo3 для автосайта | Евгений | Общие вопросы | 11 | 26.02.2008 01:17 |
"Every CMS sucks..." - считает эксперт idealware.org | Valery Romanchev | TYPO3: маркетинг и PR | 0 | 01.11.2007 21:08 |
Создание/перенос сайта в Typo3 | vaschu | Работа и заказы / Job Offer and Request | 0 | 05.07.2007 17:33 |
Несколько вопросов по TYPO3 | Александр Д. | Общие вопросы | 11 | 26.01.2006 19:29 |
Сессии в Typo3 | Semyon | Общие вопросы | 4 | 22.12.2005 01:18 |