Pull to refresh

Что такое TYPO3 и с чем его едят?

Reading time4 min
Views31K
typo3logo

Вступление


В данной статье я попытаюсь рассказать что такое TYPO3, какие у этого CMS достоинства и недостатки, чем TYPO3 отличается от других CMS и какая у него сфера применения. Эта статья скорее всего для тех кто ещё никогда не работал с TYPO3. Не сомневаюсь что на Хабре водятся люди с бóльшим чем у меня опытом и надеюсь что они меня поправят если я где-то ошибусь.


Что такое TYPO3


TYPO3 позиционирует себя как система управления сайтами для энтерпрайза. Разработку этой системы начал Kasper Skårhøj ещё в 1998 году. CMS распространяется бесплатно под лицензией GNU GPL, написана на PHP с использованием СУБД MySQL (теоретически поддерживает и другие). TYPO3 стала маркой после коммерческого успеха третьей верси. Номер версии уже давно перескочил на четвёрку, а вот тройка в названии с тех пор так и осталась. Актуальной на данный момент версией является TYPO3 4.6.0.

Чем TYPO3 лучше Drupal, Joomla или %CMS%?


На самом деле сравнивать эти системы между собой дело неблагодарное так как они занимают разные ниши рынка. К примеру Друпал намного лучше для сайтов где от посетителей ожидается участие в создании контента. В Джумле редактор сможет быстрей разобраться как правильно оформить текст. А зачем тогда нужен TYPO3? Как и у любого CMS, у TYPO3 есть свои преимущества и недостатки. К преимуществам можно отнести гибкую настройку прав пользователей, возможность использования одной инсталляции для нескольких независимых сайтов и доменов, возможность использовать расширения из TER (TYPO3 extension repository) и версионирование. Основными недостатками являются сложность редактирования, сложная система опций и настроек, медленный рендеринг больших страниц. Одна из главных особенностей TYPO3 — типоскрипт — является палкой о двух концах. С одной стороны большинство настроек можно изменить не залезая в PHP код CMS или её расширений что облегчает обновление системы. С другой стороны типоскрипту нужно научиться (синтаксису и основным «опциям»), кроме того при настройке расширений начинается жуть с курением мануалов (если они вообще есть) так как названия опций к расширениям ограничены только воображением разработчика. Противопоказано брать TYPO3 если:
  • у заказчика маленький бюджет
  • заказчику хочется портал с контентом от посетителей
  • нужен встроенный интернет магазин
  • заказчик не хочет учить редакторов
  • на сайте меньше 20 или больше 5000 страниц
  • заказчику нужен встроенный CRM/заказчик хочет чтобы его CRM работал с сайтом

Естественно с помощью большого напильника и прямых рук можно преодолеть эти противопоказания, однако стоит задуматься не легче ли взять что нибудь другое. Идеальная ниша для использования TYPO3 это сайты малых и средних компаний.

Расширения, расширения...


Расширениями в TYPO3 называют плагины. Кучу этих расширений можно найти в TER и установить их прямо через TYPO3. Если нужного расширения нет, то можно написать оное самому. Для этого рекомендуется почитать документацию к TYPO3 API, иначе результат будет довольно плачевен. Сами расширения бывают на любой вкус и цвет. Некоторые мы увидим непосредственно на нашей страничке (например формуляры или флэш фильмы), другие расширят возможности системы (например использование базы данных для сохранения картинок) и не будут видны посетителю, большинство же расширений сделает и то и другое — посетителю показывается содержимое а вам дают инструменты для настройки этого содержимого (новости, галереи изображений и т.д.).

TypoScript


TypoScript не является языком программирования, используется только для конфигурации и сугубо декларативен. Одна из самых важных возможностей TypoScript это возможность писать условия и определять константы. На больших страницах в зависимости от того в какой ветке сайта находится некоторая страница меняется например количество колонок. Логично использовать для этого условие, а в константу можно записать внутренний ID страницы от которой начинается ветка. Так же TypoScript используется для конфигурации расширений (например можно настроить количество показанных новостей на одной странице). В итоге TypoScript будет загружен в один большой array в который движок TYPO3 будет заглядывать во время рендеринга.

С чего начинается сайт на TYPO3?


template
Как ни странно, начинается всё с обычной HTML странички которую будут использовать как шаблон. Обычно в страницу вставляют так называемые маркеры (пример виден на картинке). После того как мы приготовили HTML-шаблон, следует завести тестовую страничку в бэкэнде. Затем можно приступить к TypoScript шаблону. В самом простом рабочем варианте TypoScript просто будет заполнять шаблон тем что написано в бэкэнде. Альтернативой маркерам является расширение TemplaVoila которое позволяет привязать места для вывода к использованным в HTML шаблоне тегам по id. TemplaVoila так же даёт редактору более гибкую настройку по колонкам, зато первый вариант лучше версионируется с помощью CVS, так как вся информация о шаблоне пишется в файлы а не в базу данных.

Его величество бэкэнд


backend
Для того чтобы описать весь функционал бэкэнда потребуется несколько статей, здесь я лишь кратко упомяну основы. Бэкэнд можно разделить на три части: меню, pagetree и work-area (с лева на право).

Меню

Слева расположено меню, с его помощью мы выбираем различные функции TYPO3 (K.O.). Часто чтобы изменить ту или иную настройку требуется выбрать функцию из меню и дополнительно выбрать страницу в pagetree.

pagetree
Pagetree

Структура сайта в TYPO3 всё время видна в виде дерева. На картинке четыре сайта объединены в одной инсталляции TYPO3. У них разные дизайны, различный контент и они доступны под разными доменами. Это может быть удобно если заказчику нужна отдельная страница для нового проекта, а переучиваться на новый CMS не хочется, да и сервер можно оставить как есть.

Work-area

Справа мы видим work-area. Именно здесь происходит ввод всех данных, текстов, картинок и прочего. В отличии от меню и pagetree которые практически не меняются, work-area меняется в соответствии с сочетанием выбранных пункта меню и странички.

Не в последнюю очередь


Под конец этой статьи хочется сказать что TYPO3 пишет страницы в кэш (без кэша TYPO3 это извращение), имеет легко настраиваемый поисковый движок (для больших сайтов есть расширение для solr), умеет экспортировать в PDF, поддерживает RSS, может авторизировать пользователей через LDAP, умеет рисовать картинки с помощью imagemagick/gd и много других интересных вещей. TYPO3 давно стал международным проектом с большим сообществом.
Буду рад если у меня получилось заинтересовать кого нибудь в TYPO3.

В процессе написания статьи я обращался к следущим источникам:
typo3.org
typo3.ru
TYPO3 на википедии
Tags:
Hubs:
-4
Comments31

Articles

Change theme settings