Иерархия статей
Устройство темы (шаблона)
- 06.09.2010 12:44
- PHP-Fusion
Общая схема сайта
Начнем с самой общей информации: сайт на основе PHP-Fusion состоит из пяти основных частей: заголовка (header), левой и правой части (left & right side), подвала (footer) и центральной части, находящейся по середине между четырьмя остальными.
В состав заголовка входит все, что вы видите на странице от самого верха и до строчки со ссылками и датой, включительно. Подвал это пространство внизу сайта, где содержатся копирайты и встроенный счетчик. Левая и правая часть - это узкие квертикальные колонки по бокам, содержащие панели (небольшие таблички сходного вида, но каждая со своим заголовком, содержимым и предназначением. Например панель "Навигация", панель "Мини-чат"), расположенные одна под другой.
Надо заметить, что эти колонки существуют постольку, поскольку существуют панели расположенные в них. Как вы знаете, администратор может удалять, добавлять панели, временно отключать видимость и регулировать доступ к панелям для разных групп пользователей. Так вот если администратор отключит все панели правой колонки, то колонка, как бы, исчезнет (безо всякого вмешательства в программный код!). Или еще пример: допустим, в левой колонке администратор расположил только панели с доступом "пользователь". Тогда незарегистрированный гость увидит сайт с одной (правой) колонкой и не даже не будет подозревать, что зарегистрированный пользователь видит этот сайт с двумя колонками.
Из чего состоит тема
Каждая тема для сайта на основе PHP-Fusion представляет собой отдельную папку, расположеную в папке themеs. Название папки задает одновременно и название темы, которое открывается в списке выбора тем в "Главных настройках" и в пользовательском профиле. Например, присутствие на вашем сайте папки themes/Similitude приводит к появлению в этом списке темы "Similitude", если вы создадите папку themes/My_Theme, в этот список добавится тема "My_Theme". Но, как вы догадываетесь, просто создать папку недостаточно. Нужно ее чем-то наполнить.
Внутри папки с вашей темой обязательно должен находиться файл theme.php, это главный файл темы. В принципе, можно этим и ограничиться, но обычно в этой папке лежит еще файл style.css, папки images и forum.
Файл theme.php дает движку понять, что и когда ему рисовать на странице. Файл style.css содержит определения стилей (внешнего вида элементов сайта), в папке images лежат графические файлы используемые в дизайне (всякие точечки, квадратики, фоны, распорки для таблиц), в папке forum лежат графические изображения кнопок форума ("new thread", "edit" и т.д.).
Как движок работает с темой
Основная задача движка - вывести из базы данных некую информацию на страничку, задача темы при этом - обеспечить желаемый внешний вид этого вывода. Как мы уже видели, сайт на PHP-Fusion имеет блочную структуру. Есть два больших блока имеющих самостоятельное устройство заголовок и подвал. И есть левая/правая колонки, а так же центр, содержание и вид которых определяется наличием, внешним видом и содержанием более мелких блоков.
Что имеется в виду? Обратите внимание: заголовок и подвал выглядят одинаково на всех страницах сайта, а содержимое центра, естественно изменяется. Хотя левая и правая колонки тоже обычно одинаковы на всех страницах, но тем не менее мы легко можем изменить их содержимое, убрав или добавив панель. Если присмотреться, можно увидеть, что панели живут не только в боковых колонках, что в центральной части содержимое тоже обычно заключено в панели. Или таблицы.
Основной принцип устройства HTML состоит в том, что существую теги открывающие () и закрывающие ( ). Идея темы состоит в дальнейшем развитии этого принципа: мы выделяем фрагмент HTML-кода образущий начало целого блока (например: "") и фрагмент закрывающего кода: "", а между ними можем разместить любое содержимое. В данном случае получается простая таблица с одной ячейкой.
Теперь ответим на главный вопрос этой части, как же движок работает с темой?
В общем случае это выглядит так: сначала движок вызывает функцию, написанную на языке PHP, которая "рисует" начало блока (HTML-код), затем движок выводит содержимое данного блока а затем вызывает функцию "рисования" завершающей части блока. В прочем, некоторые функции самостоятельно рисуют и начало, и конец, и встраивают содержимое в середину. Главное, что этими функциями создается обрамление для содержимого страницы или отдельного блока.
Начнем с самой общей информации: сайт на основе PHP-Fusion состоит из пяти основных частей: заголовка (header), левой и правой части (left & right side), подвала (footer) и центральной части, находящейся по середине между четырьмя остальными.
В состав заголовка входит все, что вы видите на странице от самого верха и до строчки со ссылками и датой, включительно. Подвал это пространство внизу сайта, где содержатся копирайты и встроенный счетчик. Левая и правая часть - это узкие квертикальные колонки по бокам, содержащие панели (небольшие таблички сходного вида, но каждая со своим заголовком, содержимым и предназначением. Например панель "Навигация", панель "Мини-чат"), расположенные одна под другой.
Надо заметить, что эти колонки существуют постольку, поскольку существуют панели расположенные в них. Как вы знаете, администратор может удалять, добавлять панели, временно отключать видимость и регулировать доступ к панелям для разных групп пользователей. Так вот если администратор отключит все панели правой колонки, то колонка, как бы, исчезнет (безо всякого вмешательства в программный код!). Или еще пример: допустим, в левой колонке администратор расположил только панели с доступом "пользователь". Тогда незарегистрированный гость увидит сайт с одной (правой) колонкой и не даже не будет подозревать, что зарегистрированный пользователь видит этот сайт с двумя колонками.
Из чего состоит тема
Каждая тема для сайта на основе PHP-Fusion представляет собой отдельную папку, расположеную в папке themеs. Название папки задает одновременно и название темы, которое открывается в списке выбора тем в "Главных настройках" и в пользовательском профиле. Например, присутствие на вашем сайте папки themes/Similitude приводит к появлению в этом списке темы "Similitude", если вы создадите папку themes/My_Theme, в этот список добавится тема "My_Theme". Но, как вы догадываетесь, просто создать папку недостаточно. Нужно ее чем-то наполнить.
Внутри папки с вашей темой обязательно должен находиться файл theme.php, это главный файл темы. В принципе, можно этим и ограничиться, но обычно в этой папке лежит еще файл style.css, папки images и forum.
Файл theme.php дает движку понять, что и когда ему рисовать на странице. Файл style.css содержит определения стилей (внешнего вида элементов сайта), в папке images лежат графические файлы используемые в дизайне (всякие точечки, квадратики, фоны, распорки для таблиц), в папке forum лежат графические изображения кнопок форума ("new thread", "edit" и т.д.).
Как движок работает с темой
Основная задача движка - вывести из базы данных некую информацию на страничку, задача темы при этом - обеспечить желаемый внешний вид этого вывода. Как мы уже видели, сайт на PHP-Fusion имеет блочную структуру. Есть два больших блока имеющих самостоятельное устройство заголовок и подвал. И есть левая/правая колонки, а так же центр, содержание и вид которых определяется наличием, внешним видом и содержанием более мелких блоков.
Что имеется в виду? Обратите внимание: заголовок и подвал выглядят одинаково на всех страницах сайта, а содержимое центра, естественно изменяется. Хотя левая и правая колонки тоже обычно одинаковы на всех страницах, но тем не менее мы легко можем изменить их содержимое, убрав или добавив панель. Если присмотреться, можно увидеть, что панели живут не только в боковых колонках, что в центральной части содержимое тоже обычно заключено в панели. Или таблицы.
Основной принцип устройства HTML состоит в том, что существую теги открывающие () и закрывающие ( ). Идея темы состоит в дальнейшем развитии этого принципа: мы выделяем фрагмент HTML-кода образущий начало целого блока (например: "") и фрагмент закрывающего кода: "", а между ними можем разместить любое содержимое. В данном случае получается простая таблица с одной ячейкой.
Теперь ответим на главный вопрос этой части, как же движок работает с темой?
В общем случае это выглядит так: сначала движок вызывает функцию, написанную на языке PHP, которая "рисует" начало блока (HTML-код), затем движок выводит содержимое данного блока а затем вызывает функцию "рисования" завершающей части блока. В прочем, некоторые функции самостоятельно рисуют и начало, и конец, и встраивают содержимое в середину. Главное, что этими функциями создается обрамление для содержимого страницы или отдельного блока.
- Печать
- 0 Комментариев
- 2384 Прочтений
Поделиться этой статьей | |
Социальные закладки: | |
URL: | |
BBcode: | |
HTML: |
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
- 5 (Отлично!) - 1 Голос
Рейтинг доступен только для пользователей.
Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.