Что такое 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 называют плагины. Кучу этих расширений можно найти в TER и установить их прямо через TYPO3. Если нужного расширения нет, то можно написать оное самому. Для этого рекомендуется почитать документацию к TYPO3 API, иначе результат будет довольно плачевен. Сами расширения бывают на любой вкус и цвет. Некоторые мы увидим непосредственно на нашей страничке (например формуляры или флэш фильмы), другие расширят возможности системы (например использование базы данных для сохранения картинок) и не будут видны посетителю, большинство же расширений сделает и то и другое - посетителю показывается содержимое а вам дают инструменты для настройки этого содержимого (новости, галереи изображений и т.д.).TypoScript
TypoScript не является языком программирования, используется только для конфигурации и сугубо декларативен. Одна из самых важных возможностей TypoScript это возможность писать условия и определять константы. На больших страницах в зависимости от того в какой ветке сайта находится некоторая страница меняется например количество колонок. Логично использовать для этого условие, а в константу можно записать внутренний ID страницы от которой начинается ветка. Так же TypoScript используется для конфигурации расширений (например можно настроить количество показанных новостей на одной странице). В итоге TypoScript будет загружен в один большой array в который движок TYPO3 будет заглядывать во время рендеринга.С чего начинается сайт на TYPO3?
Как ни странно, начинается всё с обычной HTML странички которую будут использовать как шаблон. Обычно в страницу вставляют так называемые маркеры (пример виден на картинке). После того как мы приготовили HTML-шаблон, следует завести тестовую страничку в бэкэнде. Затем можно приступить к TypoScript шаблону. В самом простом рабочем варианте TypoScript просто будет заполнять шаблон тем что написано в бэкэнде. Альтернативой маркерам является расширение TemplaVoila которое позволяет привязать места для вывода к использованным в HTML шаблоне тегам по id. TemplaVoila так же даёт редактору более гибкую настройку по колонкам, зато первый вариант лучше версионируется с помощью CVS, так как вся информация о шаблоне пишется в файлы а не в базу данных.
Его величество бэкэнд
Для того чтобы описать весь функционал бэкэнда потребуется несколько статей, здесь я лишь кратко упомяну основы. Бэкэнд можно разделить на три части: меню, pagetree и work-area (с лева на право).
Меню
Слева расположено меню, с его помощью мы выбираем различные функции TYPO3 (K.O.). Часто чтобы изменить ту или иную настройку требуется выбрать функцию из меню и дополнительно выбрать страницу в pagetree.Структура сайта в TYPO3 всё время видна в виде дерева. На картинке четыре сайта объединены в одной инсталляции TYPO3. У них разные дизайны, различный контент и они доступны под разными доменами. Это может быть удобно если заказчику нужна отдельная страница для нового проекта, а переучиваться на новый CMS не хочется, да и сервер можно оставить как есть.
Work-area
Справа мы видим work-area. Именно здесь происходит ввод всех данных, текстов, картинок и прочего. В отличии от меню и pagetree которые практически не меняются, work-area меняется в соответствии с сочетанием выбранных пункта меню и странички.Не в последнюю очередь
Под конец этой статьи хочется сказать что TYPO3 пишет страницы в кэш (без кэша TYPO3 это извращение), имеет легко настраиваемый поисковый движок (для больших сайтов есть расширение для solr), умеет экспортировать в PDF, поддерживает RSS, может авторизировать пользователей через LDAP, умеет рисовать картинки с помощью imagemagick/gd и много других интересных вещей. TYPO3 давно стал международным проектом с большим сообществом.Буду рад если у меня получилось заинтересовать кого нибудь в
TYPO3 (тайпо три) – система управления сайтами (CMS/CMF) с открытым исходным кодом и свободной лицензией. Является гибкой расширяемой системой с большим количеством модулей и функций.
Написана на , для хранения данных использует любую реляционную базу данных, поддерживаемую TYPO3 DBAL, включая , Oracle Database, и другие. Работает на таких серверах, как или IIS (Internet Information Services), и на большинстве операционных систем, таких как Microsoft Windows, Linux, FreeBSD, Mac OS X и OS/2.
Система создана Каспером Скорхёем и распространяется бесплатно под лицензией GNU General Public License.
Структура сайта в TYPO3 представлена деревом страниц. На каждой странице могут быть размещены элементы содержимого – небольшие блоки информации: текст, текст + изображение, изображение, таблица, чистый HTML, плагин и др.. TYPO3 основана на шаблонах. Существуют готовые шаблоны для TYPO3, однако в основном шаблоны строятся заново на специальном конфигурационном языке TypoScript. Несмотря на использование Script в названии, TypoScript не является процедурным языком. Он используется для конфигурирования и отображения сайта. TypoScript является альтернативой другим конфигурационным языкам, таким как ini- или conf-файлы, XML или JSON.
TYPO3 имеет два режима работы: frontend (это «лицо» сайта, то, каким он виден посетителям) и backend (это интерфейс для администраторов и редакторов сайта). Кроме того, поддерживается режим frontend-редактирования, позволяющий редакторам вносить правки непосредственно при просмотре «лица» сайта.
Основные возможности TYPO3
- Редактор текста с форматированием (RTE) и проверка орфографии;
- Редактор текста с форматированием (FCKeditor) и модификация от сторонних разработчиков;
- Отмена изменений и история изменений;
- Предпросмотр перед публикацией;
- Буфер обмена;
- Редактирование содержимого из frontend и backend;
- Внутренние ссылки (возможны ссылки на уровне элементов содержимого);
- Внутренний поисковый механизм;
- Одна установка системы для многих сайтов (с единым деревом страниц);
- Одна установка системы для многих доменов;
- Templavoila;
- Гибкая система разграничения прав для редакторов сайта;
- Динамическое построение меню – текстовых и графических;
- Возможность авторизации пользователей через LDAP;
- Версионирование;
- Рабочие области (workspaces);
- Поддержка WML;
- Поддержка XML;
- Поддержка импорта и экспорта RSS;
- Экспорт в PDF;
- Экспорт в статический HTML;
- Кэширование страниц.
Расширяемость TYPO3
Основные расширения для TYPO3:
- гибкая новостная система;
- форум;
- интеграция с существующими форумами;
- галереи изображений;
- интернет-магазин и каталог;
- голосования;
- блог;
- кнопки редактирования контента;
- рассылки;
- календарь.
Применение TYPO3
TYPO3 работает более чем на 500 тыс. сайтах, включая сайты Epson Corporation, Philips, Schwarzkopf, UNICEF, Konica Minolta, Cisco. TYPO3 используется на сайтах десятков европейских банков, сотен международных организаций и крупных компаний, уделяющих значительное внимание безопасности своих интернет-систем. В России TYPO3 используют ВЦИОМ, РГМУ, сервер органов государственной власти Республики Бурятия, Республики Дагестан, банк «Финсервис», группа компаний «Инталев», Уральская академия государственной службы, официальные сайты ОАО «Газпром», ОАО «Хакасэнерго» и другие организации.
TYPO3 – это очень мощная и очень гибкая Open Source система, уровня “Enterprise”. т.е. она на порядок выше чем популярные ныне WordPress, MODx, Joomla и т. д. Она пользуется большой популярностью в Европе, особенно в Германии и Швейцарии. Стандартная сфера применения TYPO3 – это корпоративные сайты или порталы, где нужно гибкое разделение прав доступа для редакторов. При этом работа с сайтом ведется через административный интерфейс. Однако, TYPO3 позволяет создавать приложения, в которых наполнением сайта будут заниматься его посетители. Пр этом приложение без особых проблем, можно создать "с нуля", заложив в него именно тот функционал, который необходим.
Страницы в TYPO3 представлены в виде дерева, подобно «проводнику» в файловой системе Windows. К слову сказать, популярная система MODx, переняла эту концепцию у TYPO3. На каждую страницу можно вставить любое количество различных элементов контента. Это могут быть тексты, тексты с картинками, html код, 12-ти колончатая сетка, функциональные плагины или свои собственные элементы. Таким образом вы можете создавать любые страницы, которые очень легко создавать и легко ими управлять. Сравните это с другими системами, где область контента определена одним текстовым редактором. В TYPO3 помимо любого количества элементов контента, вы можете создать любое количество областей для контента.
Внутри TYPO3 имеется очень сильный MVC фреймворк, который называется Extbase. Он во многом схож с фреймворком Symfony, т. е. тоже вещь серьезная.
Extbase использует парадигму DDD (Domain Driven Design) - проектирование на основе предметной области. Extbase освобождает разработчика от изнурительного написания sql запросов к базе данных. Вместо этого Extbase использует встроенную ORM (object-relational mapping.), концепцию, которая связывает базу данных с концепциями объектно-ориентированного программирования.
Современная система шаблонирования в TYPO3 называется Fluid. Это просто шедевр. С помощью Fluid, интегрировать любой дизайн в CMS, становится просто увлекательным занятием. Он полностью отделен от программного кода, и очень читабелен. На мой взгяд читабельнее чем twig или smarty. Fluid, в standalone виде будет портироваться в Symfony и Laravel.
В TYPO3 имеется встроенный язык конфигурирования - Typoscript. Он прост в освоении, ничего сложного. Если нет желания пользоваться им, то всё можно сделать через Fluid. Возможности, действительно, потрясающие.
Что мы имеем в итоге? Мощнейшую мультидоменную, мультиязычную, удобную в управлении CMS + MVC фреймворк, который позволяет сделать всё что угодно. Всё зависит от профессионализма разработчика. При всем при этом, TYPO3 не жрет много ресурсов хостинга как это делает Битрикс. Те же, кто ругают TYPO3, якобы за ее сложность, просто не удосужились прочесть документацию по системе. Как можно за что-то браться, не изучив предварительно документацию? Документация, кстати, прекрасно структурирована и очень внятно написана.
Все эти MODx"ы, WordPress"ы, Jooml"ы, Битриксы и рядом не стояли. Да, безусловно сделать сайт на вордпрессе проще - клацай мышкой, ставь плагины и не думай что там происходит внутри. Всё само заработает. Но так профи не станешь.
Плюсов для меня больше чем минусов, да, админка мудреная, но если опыт работы с подобными системами есть, разобраться особого труда не составляет. Для наполнения и управления площадкой система подходит хорошо, гибкая система настройки прав пользователей, одну и ту же инсталляцию можно использовать сразу на нескольких доменах или независимых сайтах, есть возможность использовать версионирование и расширение из TYPO3 extension repository. Система подходит особенно хорошо для больших и объемных проектов, но для сайтов с контентом от посетителей не стоит заморачиваться с этой системой. Программа бесплатна для установки и если бюджет для создания проекта ограничен, эта система отличный помощник. Дополнительно можно скачать огромное количество плагинов. В первый раз я создал с нуля хороший и качественный сайт буквально за пару недель, некоторые разделы, конечно, дополняю и дорабатываю, но в целом сайт получился функциональным, визуально привлекательным для посетителей. Я доволен, что выбрал эту систему, пока она меня не разочаровала, под интернет-магазины, конечно выбрал бы другую, но для портала с разным контентов, лучше этой пока не нашел.
Очень мощная и продвинутая система управления сайтами, особенно хорошо подходит для больших развлекательных порталов, типа букмекерских контор и так далее. Заточена именно под оборот денежных средств, в начинке есть функция выбора способов пополнения личного кабинета и прочее. Искал именно такую систему. Она бесплатна для установки, но мне пришлось все же немного потратиться на покупку обучающей литературы, так как доступной информации по некоторым вопросам просто не нашел, сколько не искал на форумах и в обсуждениях информации мало. Система хороша тем, что имеет множество доступных расширений под любую задачу, админка проста и понятна, движок функциональный, создавать проекты с нуля довольно просто, есть функция кэширования, что для объемных проектов обязательное требование. Минус есть, система не подходит для создания порталов с блогами пользователей, так как контент может создаваться только владельцем. Плюс для создания витрины интернет магазина нужно скачать кучу дополнительных расширений, адаптировать их под конкретную задачу, проще скачать или купить доступ к какой либо аналогичной системе с готовым шаблоном магазина. Поэтому только 4.