PDA

Просмотр полной версии : Typo3, XHTML и семантика


NiKRON
12.12.2007, 16:45
Почему Typo3 выдаёт такой мусорный код?

<div class="csc-header-n1"><div class="csc-header-n1-wrap"><h1 class="csc-firstHeader">Hello, World!</h1></div></div>

Зачем столько тэгов? Это очень нехорошо влияет на семантику. Хрен какой поисковик в таком бардаке разберётся и врядли будет выдавать нормальные результаты поиска. Это специально сделано?

Как с этим бороться? Как убрать все лишние тэги?

-=UncleByte=-
12.12.2007, 17:05
В общем случае надо смотреть CSS Styled Content - в нем все и определяется. В частных случаях (какие-либо отдельно взятые экстеншны) в папке с экстеншном.
Настроить можно все.

NiKRON
12.12.2007, 18:38
Я понимаю, что можно всё настроить. Но зачем они вообще это сделали?
Настраивать можно в CSS Styled Content, но тогда это коснётся всех сайтов которые висят на одной CMS.

Кстати, как сделать так, чтобы заголовок первого pagecontent'a был просто в тэге h2, а заголовки во всех остальных pagecontent'ах -- в тэге h3?

Пока сделал так:

lib.stdheader >
lib.stdheader = TEXT
lib.stdheader {

field = header
stdWrap.wrap = <h2>|</h2>

}

Но так все заголовки помещаются в h2

-=UncleByte=-
12.12.2007, 19:42
Тут где-то в одной из тем посвященных RTE были приведены настройки при помощи TS - может быть это поможет.
Хотя, честно сказать, не особенно понимаю смысла всего этого просто потому что ни разу не видел сайты, которые бы действительно соответствовали бы принципам семантической верстки. Причем не только в рунете, но и в сети вообще.

pomotom
12.12.2007, 21:14
Грубой силой:

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}{regist er:headerStyle}>|</h{register:headerNum1}{register:headerNum2}>


Знатоки! Проще можно как-нибудь?

NiKRON: как избавиться от внешнего див-а найдете в ТемплейтБраузере по аналогии.

NiKRON
13.12.2007, 11:49
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 >

Pavel Antonov
13.12.2007, 16:56
Грубой силой:

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}{regist er:headerStyle}>|</h{register:headerNum1}{register:headerNum2}>
Знатоки! Проще можно как-нибудь?

NiKRON: как избавиться от внешнего див-а найдете в ТемплейтБраузере по аналогии.


Вполне TYPO3-way. Не пугайтесь таких вещей, в этом и есть смысл TypoScript с его геморойным синтаксисом.

Я иногда еще свой счетчик в регистре завожу для случаев когда у TYPO3 зацепиться не за что (например, вывод картинок из одного поля с разным отображением).

pomotom
13.12.2007, 20:43
parentRecordNumber возвращает номер заголовка? А где можно подробнее узнать о таких вещах. В TSref такого вообще нет.
я узнал в браузуре. почему циферки именно такие - потому что этими циферками пронумерован COA у авторов цсс стайлед контента.
Кроме ТСрефа классная дока - основы шаблона, но про это там нет.
Доки собственно к ЦСС стайлед по-моему нет, и это порой :mad: особенно когда хочешь поправить вывод изображений :mad: :mad: :mad:

Свойства объектов искать в АПИ (сам не копал) или прямо в структуре данных, благо обращение с таблицам из ТС есть. parentRecordNumber наверное относится к объекту, а не к заголовку.

Павел, а else у if в TS точно нет, или это я ступил?

-=UncleByte=-
14.12.2007, 01:03
NiKRON, зачем делать "прозрачную" верстку я прекрасно понимаю, более того, всецело поддерживаю и сам уже несколько лет только так и верстаю, но, на мой взгляд, эта избыточность кода в Typo3 бывает очень полезна, хотя, конечно, не всегда востребована.
Возможно что отключать ее было бы полезно, но если это приходится делать таким путем как предложено выше, то я предпочту оставить ее в покое. Я именно это имел в вижу и ничего более :)

Pavel Antonov
14.12.2007, 02:28
Павел, а else у if в TS точно нет, или это я ступил?

Нет. В зависимости от ситуации можно использовать CASE, override (stdWrap), COA (c if в stdWrap)

NiKRON
16.12.2007, 01:39
В общем, прежде чем делать проект на Typo3 с css_styled_content нужно перелопатить это расширение под себя. В принципе, тоже плюс. Свою модификацию сделай и пользуй как удобно.

Всё-таки доки не хватает. Особенно на русском. Переводы отвратительные, бесчеловечные. Потому и интерес у народа быстро пропадает. Остаются разбираться только самые маньяки. (шутка :)
Блогов по теме мало. Почти нет. На русском вообще не встречал. Печально. А ведь CMS-то отличная.

Pavel Antonov
16.12.2007, 14:18
В общем, прежде чем делать проект на Typo3 с css_styled_content нужно перелопатить это расширение под себя. В принципе, тоже плюс. Свою модификацию сделай и пользуй как удобно.

Проще делать CSS под css_styled_content. Сам по себе css_styled_content соответствует стандартам XHTML, так в чем проблема? Лишнии css-классы раздражают, но не критично, кроме того совсем от них не избавится.

Всё-таки доки не хватает. Особенно на русском. Переводы отвратительные, бесчеловечные. Потому и интерес у народа быстро пропадает. Остаются разбираться только самые маньяки. (шутка :)
Блогов по теме мало. Почти нет. На русском вообще не встречал. Печально. А ведь CMS-то отличная.

Английский - язык программистов и профессионалов, а то что у остальных пропадает желание, то и не страшно.