Просмотр полной версии : Шаблоны: TypoScript and HTML/CSS vs TV
Как новичок, ищу оптимальный для себя способ работы с шаблонами, их в TYPO3 многовато, что поначалу путает, несмотря на обилие документации, выбрать с ходу оптимальный для себя сложновато. Сейчас изучаю TV, так как о нём сказано много громких слов :)
По ходу набрёл на неплохую, хоть и небольшую статью в вики:
http://wiki.typo3.org/index.php/My_first_TYPO3_site
Автор пишет (2005 год), что попробовал сайты на TV, но потом перешёл на связку TypoScript and HTML/CSS.
"I love it because it is modular. I have a set of core layout related files that I maintain for all of my websites. And a few smaller files that I maintain with tailored details for each individual site. This all allows me to make adjustments rapidly without having to sift through large amounts of confusing code."
Уважаемые, если кто-то делает сайты таким образом, какие преимущества есть перед TV, возможно, с 2005 года всё очень изменилось...
Интересует удобство, модульность, переносимость и скорость разработки для PHP-девелопера :)
Заранее спасибо!
Что касается меня, то TV использую только в случае, когда содержание страницы может иметь разную структуру (например, различное количество колонок, один элемент содержимого отличается структурой от другого и проч.). Если же внутренняя страница с фиксированной структурой, то стараюсь не использовать TV.
Хотя, неплохо бы спросить еще и конечных пользователей системы, возможно, для них TV удобнее и понятнее :)
Структура страницы в общем будет неизменной, хотя контент в центральном блоке - очень и очень разный (разделы сайта).
Я интересуюсь именно с точки зрения PHP-программиста (с пониманием HTML/CSS/XML), конечные пользователи будут работать со структурой сайта и набивать контент, в TS и шаблонах им делать нечего.
Судя по прочитанному за последний месяц, TV является ныне стандартом де-факто, даже в подкастах Каспера - только TV. С другой стороны, то, что юзает большинство - не обязательно оптимальный вариант, наряду с достоинствами есть и недостатки.
Поэтому мне и интересно - можно ли обойтись TS + HTML/CSS (т.е. вообще без расширения TV) без потери эффективности разработки, то есть весь список из первого поста: удобство, модульность, переносимость и скорость разработки.
PS Сайты плнируются мультидоменные и многоязычные, но это вроде как шаблонов не касается. Хотя.... шаблон нужен один, а доменов - много :)
Дмитрий Самойлов
28.02.2007, 12:09
По ходу набрёл на неплохую, хоть и небольшую статью в вики:
http://wiki.typo3.org/index.php/My_first_TYPO3_site
Когда то я использовал TemplaVoila, но меня как и автора статьи убивали эти вещи:
"As I tweaked my layout in my HTML template file and reloaded, the site would sometimes crash. I would have to run through the TemplaVoila mapping process again to get the site back up. Moving to external stylesheets avoided a good bit of this, but still any shift in the primary HTML would run the risk of crashing the system."
И в итоге я отказался от TemplaVoila в пользу чистого TypoScript
из недостатков
- невозможность получения столь же красивого и удобного для пользователя бекенда, что дает TemplaVoila,
- невозможно использовать темплаволевские content elements, которые очень, ну очень упрощают жизнь
(хотя на одном из сайтов я делал шаблон обычным образом, а контент елементы использовал от TemplaVoila, но это было похоже на хак)
из достоинств
- сохранение нервов во время разработки.
Кроме того в последнее время ВСЕ шаблоны я стараюсь создавать в плагинах (нечто вроде theme_<имя темы/сайта>), а в typoscript setup/constants перегружать конфигурируемые елементы, с таким подходом мне TemplaVoila не очень подходит
Спасибо, интересный ответ :)
Я почему и спрашивал - не устарела ли инфа из статьи, в том числе и по данной чувствительности TV к правке HTML шаблона - имеет ли она место быть сейчас?
Pavel Antonov
28.02.2007, 16:07
Спасибо, интересный ответ :)
Я почему и спрашивал - не устарела ли инфа из статьи, в том числе и по данной чувствительности TV к правке HTML шаблона - имеет ли она мето быть сейчас?
Во-первых, чувствительность не к правке HTML, а к некорректному HTML коду... если код чистый, а еще и прописать ID для необходимых областей на которые выполняется TV mapping, то для обновление HTML нужно нажать только [Update] - никаких проблем не будет! ID обеспечивают корректность работы даже если структура HTML поменялась полностью!
Во-вторых, не совсем понял что это за разделения на TypoScript и TV. При использовании TV, все так же пишется на TypoScript!
В-третьих, для конечного пользователя зачастую все равно. Все определяется сложностью сайта. Если необходимы сложные блоки то без FCE нужно будет изобретать велосипед, модифицировать tt_content.
Просто выберите для себя... использовать или нет. Я использую TV всегда... так проще для меня (потому что как я уже говорил, пользователю все равно). Потому, что где то использовать, где то нет - голову сломаешь, а выгода сомнительная. И потому, что уже есть некоторая библиотека кодов которая используется всегда и заточена под TV.
Успехов!
Когда перешол с обычных разметок шаблона к TV это было круто)) столько же впечатлений, как от обычного знакомства с типо3. Все красиво и продумано, а главное активно развивается, апдейтится и все дела.
Чувствительность TV к правке HTML шаблона есть... но если там правки незначительные, то это вовсе не страшно. Во первых, по рекомендациям на форуме, пишу для всех сайтов сразу в настройках Setup:
page.stylesheet = fileadmin/templates/css/style.css
...и не нужно каждый раз устанавливать и обновлять как это сказано в документации.
Во вторых есть такая опция у самой TV обновить мапинг шаблона - что тоже помогает, если в шаблоне какие-то незначительный изменения.
Pavel Antonov
28.02.2007, 16:19
Когда перешол с обычных разметок шаблона к TV это было круто)) столько же впечатлений, как от обычного знакомства с типо3. Все красиво и продумано, а главное активно развивается, апдейтится и все дела.
Чувствительность TV к правке HTML шаблона есть... но если там правки незначительные, то это вовсе не страшно. Во первых, по рекомендациям на форуме, пишу для всех сайтов сразу в настройках Setup:
...и не нужно каждый раз устанавливать и обновлять как это сказано в документации.
Во вторых есть такая опция у самой TV обновить мапинг шаблона - что тоже помогает, если в шаблоне какие-то незначительный изменения.
Слетающие меппинги в <head> при обновлении вроде бы уже поправили... Но я далю и буду делать через TypoScript... часто нужно менять head, меппинг тут не пойдет.
Про чувствительность, незначительность изменений - смотрите выше. Дело не в TV, а в том как подготовлен код. Правильный код обновляется корректно ВСЕГДА!
Большое спасибо за ответы!
Я как раз и выбираю что именно использовать - TV or not TV, чтобы потом не возвращаться назад и не переделывать :)
Моё разделение TV / TS - это всё от незнания, сегодня начал читать MTB1, я перепрыгивал через него с GS сразу на FTB, похоже, зря. MTB1 реально полезное и понятное чтение.
Параллельно делаю два примера - в 4.0 без TV, в 4.1 c TV.
Pavel Antonov, я в том смысле, что если поменять какие-то классы или значения в ХТМЛ шаблоне, то апдейт очень удобен, а если были добалены новые таблицы или удалены прийдется переделать мэппинг. разве нет?
Pavel Antonov
28.02.2007, 19:00
Pavel Antonov, я в том смысле, что если поменять какие-то классы или значения в ХТМЛ шаблоне, то апдейт очень удобен, а если были добалены новые таблицы или удалены прийдется переделать мэппинг. разве нет?
Нет, если области имеют ID, то TemplaVola сама определит, куда "съехала" цель мэппинга.
Хм, интересно) а можно где-то почитать по поводу этих так называемых "областей" и их ID? в основной документации как-то не заметил) может доп. статьи есть?
почитать - не знаю, но по опыту если мэпятся теги (не диапазоны) с установленным id, то вручную мэппинг обновлять не приходится. правда в шаблонах страниц я мэплю исключительно div-ы.
Pavel Antonov
01.03.2007, 01:36
Хм, интересно) а можно где-то почитать по поводу этих так называемых "областей" и их ID? в основной документации как-то не заметил) может доп. статьи есть?
Собственно о чем читать? Как писать правильный XHTML? Так это надо на W3C или http://alistapart.com/ читать... ID введен в DOM для того что бы однозначно определять элемент (тэг). Если когда-нибудь писали на JavaScript должны себе представлять...
Парсер TemplaVoila использует абсолютно те же принципы для идентификации тэгов.
Valery Romanchev
01.03.2007, 01:51
Вот цитата из старых учебных материалов:
Сравнение TV (TemplaVoila) и старого шаблонного движка:
1) у TV другой Page-модуль ("зеленый" модуль). Большинство разработчиков считает, что он более удобен для редактора и более гибкий (хотя есть и другие мнения, что наоборот, старый Page-модуль лучше).
2) в TV можно создавать блоки контента с произвольной структурой (так называемые FCE - Flexible Content Elements), и можно делать блоки, которые включают другие блоки.
Насчет старого шаблонного движка:
Есть 3 варианта делать шаблоны "старым способом"
1) MTB (мануал Modern Template Building) - это с использованием авропарсера, который подставляет правильные пути для картинок в тегах img (я этот метод практически не использую)
Если начали разбираться в autoparser и MTB (Modern Template Building), то можно посмотреть действующий вариант (это шаблон YAML)[/URL]
2) TS + HTML шаблон - этот метод используется довольно часто, и в комбинации с TemplaVoila, например:
Сайт http://ultimatule.ru/ (http://demo.typo3.biz/typo3/) на темплавоила Но страница квитанции сбербанка [URL]http://ultimatule.ru/form-ticket.html?&no_cache=1 - это TS+HTML шаблон
3) чистые TS шаблоны - тоже часто используется. Это практически тоже самое, просто нет отдельного HTML-файла
Пример: страница просмотра фотки на
http://vostock-photo.com/index.php?id=27&no_cache=1&ns_section=1135&cHash=ed89f4c75f
это чисто TS код (отдельный файл с HTML кодом нет смысла заводить)
Варианты 2 и 3 мы разберем подробно, также как и Темплавоила.
Хочу подчеркнуть: TS - это первичная вещь.
Т.е. он обязательно должен быть (без него вообще нет никакого вывода во FrontEnd).
То есть, и HTML шаблоны и темплавоили уже подвязываются через TS.
Сейчас появилась среда разработки для TS -
http://typo3.area42.de/
попробуйте поставить себе PSpad и этот модуль.
Эта среда содержит хороший help в формате chm по TS. Этот хелп надо обязательно скачать и использовать в работе.
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot