Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Typo3, XHTML и семантика (http://forum.typo3.ru/showthread.php?t=5348)

NiKRON 12.12.2007 16:45

Typo3, XHTML и семантика
 
Почему Typo3 выдаёт такой мусорный код?
Код HTML:

<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}{register: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

Цитата:

Сообщение от pomotom (Сообщение 16510)
Грубой силой:
Код:

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: как избавиться от внешнего див-а найдете в ТемплейтБраузере по аналогии.


Вполне 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

Цитата:

Сообщение от pomotom (Сообщение 16543)
Павел, а 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

Цитата:

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

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

Цитата:

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

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


Часовой пояс GMT +4, время: 00:42.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot