Такой новый модуль вывода
Возвращаясь к тем первым дням когда мы проектировали IP.Board 3, нашей первостепенной задачей было переписать модуль вывода системы для добавления новых возможностей и увеличения расширяемости оного.
Так мы выводили раньше…
В IP.Board 2.x использовался образный «модуль» вывода, построенный на основе нескольких методов класса. Не было никакой реально связанной структуры с множеством различных файлов и функций доступа к методам стиля. Мы решили переписать нашу систему вывода. Более того, мы решили не привязываться к какому-либо определенному формату вывода. В то время когда IP.Board 2 был написан, не было iPhone и идея посещения форума с мобильного устройства казалась утопичной. Но времена меняются.
…а так сейчас
На первый взгляд новая система не сильно отличается от того что было в IP.Board 2. Первое изменение в новой системе — не ограниченная глубина для стилей потомков. В IP.Board 2 вы могли создать только потомков первого уровня, что было ощутимым ограничением для некоторых разработчиков. Так же в IP.Board 2 был единственный мастер стиль, от которого наследовали все остальные.
В IP.Board 3.0 по прежнему единственный «мастер» стиль, однако вместо него вы можете устанавливать различные «корневые» стили, от которых будут наследовать стили потомков. Это улучшение дает существенную гибкость при работе с системой.Так же в IP.Board 3 каждый стиль имеет несколько CSS файлов, которые должны иметь строгий порядок загрузки, для составления правильного каскада стилей, данный порядок устанавливается через админцентр.
В новой версии каждый стиль имеет права доступа для групп, что позволяет вам настраивать какие группы могут видеть и использовать стиль.И наконец гости теперь могут менять стиль (конечно если вы им это разрешите!)
Погружаемся глубже: User Agent’ы
IP.Board приобрел совершенно новую систему работы с user-agent, в ней вы можете добавлять новые user-agent’ы и группировать уже существующие. Данная система используется для «системы определения поисковых роботов».
Это так же означает, что теперь вы можете задавать стили в зависимости от user agent’а. Например, это полезно в случае, если вы хотите назначить специальный стиль для посетителей, использующих iPod touch и iPhone. Если уже совсем нечем заняться, то вы можете назначить собственный стиль фактически каждому user agent’у. Это может быть полезно, если вы, например, хотите воспользоваться всеми преимуществами браузера Firefox 3 или IE 8. Как вы видите система позволяет не только определять user agent пользователя, но и ранжировать версии.
На запредельной глубине: Форматы вывода
Огромнейшим изменением в IP.Board новой версии стало введение возможности управления несколькими форматами вывода. Под этим мы подразумеваем, что IP.Board приобрел надстроечную архитектуру (поддерживающую расширения) системы вывода, позволяющую совершенно разделено осуществлять вывод в HTML, XML и даже WAP. Данная система полностью расширяемая, что означает, что авторы модификаций смогут легко создавать свои обработчики вывода и легко подключать их для незамедлительного использования.
У каждого стиля появилась настройка в каком формате необходимо его выводить. Таким образом вы можете иметь совершенно различные наборы стилей для XML и HTML, что дает вам еще большую гибкость.Так же существует поддержка «gateway» файла, который выводит данные в определенном формате. В IP.Board 3 таких gateway файлов будет два. «index.php» который выдает HTML и «xml.php» соответственно в формате XML.
Собирая все вместе
Теперь можно реализовать следующие: Вам необходима поддержка WAP реализованная с использованием XML и XLST шаблонов специально для телефонов Nokia. Готово, готово и еще раз готово. И все без каких либо модификаций с использованием PHP.