На заглавную  |  Контактная информация и обратная связь  |  Поиск    Главная  |  Статьи  |  Downloads  |  Форум  |  FAQ  |  Версия для КПК   December 11 2017 19:14:15  
WEB Design & PHP перейти на главную Статьи Ответы на часто задаваемые вопросы Загрузки Форум
PHP-Fusion Украинская поддержка Статьи Ответы на часто задаваемые вопросы Загрузки Форум
 
 Навигация
Новости
Статьи

FAQ
Поиск

Учебник по HTML
Карта сайта
Ссылки
Обратная связь


Альтернативная карта сайта
RSS новости
Версия для КПК
 
 Спонсоры проекта

Синельниковский информационно-развлекательный портал



Кондиционеры в Киеве


 
 Рассылка новостей
Только для зарегистрированных пользователей
 
 Ваш IP адрес
54.221.136.62
 
 Рекомендуем посетить
 
 Загрузки
Новые файлы
Professional Download ...
База игр
Мод "проверочный код +...
Мод "login redirect"
Мод "register.php + но...
Errors mod
unactivated users v3.0
Мод "index.php + мод п...
Мод "проверочный код в...
Менеджер смайлов
Переработанный плагин ...
Панель статистики (форум)
Гостевая книга
Панель "навигация + св...
Система баннеро-обмена
See bot info
Обновление для версии ...
PHP-Fusion 6.01.12
Руководство пользовате...
Обновление для версии ...

Toп 20 файлов
Колекция кнопочек, ука... [5497]
Плагин интернет магази... [4577]
Button Panel v1.0 [4198]
Professional Download ... [3752]
Black_Tomato [3695]
BlueIce-Skaidon [3648]
Карта сайта для PHP-Fu... [3626]
"Koмпьютерная" тема дл... [3622]
PHP-Fusion 6.01.12 [3457]
Панель "навигация + св... [3327]
Rss парсер для PHP-Fusion [3309]
slideshows_random_phot... [3163]
ZoneCopper [3103]
Руководство пользовате... [3100]
MP3 Архив v.2.0 [3094]
FT03 [3018]
F-Liquid [3014]
Голосование для всех (... [2945]
Работающий TinyMCE.. [2904]
Переработанный плагин ... [2813]
 
 Рекомендуем посетить
 
Для просмотра нажмите стрелку слева Кнопки партнеров
Регистрация и вход
 
 

Устройство тем в Php-Fusion

Общая схема построения сайта на - PHP-Fusion


Начнем с самой общей информации: сайт (вернее тема его оформления) использующий за основу PHP-Fusion состоит из пяти основных частей:

заголовка (header), левой и правой части (left side и right side), подвала (footer) и центральной части, находящейся по середине между четырьмя остальными частями.


В состав заголовка (header) входит все, что Вы видите на странице от самого верха и до строчки со ссылками и датой, включительно.

Подвал (footer) это пространство внизу сайта, где содержатся копирайты и встроенный счетчик "уникальных посешений".

Левая и правая часть (left side и right side)- это вертикальные колонки по бокам, содержащие панели, (как правило это небольшие таблички сходного вида, но каждая со своим заголовком, содержимым и предназначением. Например панель "Навигация", панель "Мини-чат") расположенные одна под другой.


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


Из чего состоит тема оформления PHP-Fusion


Каждая тема оформления для сайта на основе PHP-Fusion представляет собой отдельную папку, расположенную в папке themеs.

Название папки задает одновременно и название темы, которое открывается в списке выбора тем в административной части сайта в разделе Администрирование системы/Главные установки и в пользовательском профиле.

Например присутствие на Вашем сайте папки themes/Similitude приводит к появлению в этом списке темы "Similitude", если Вы создадите папку themes/My_Theme, в этот список добавится тема "My_Theme".

Но, как Вы уже догадываетесь, просто создать папку недостаточно. Нужно ее чем-то наполнить. Чем же?


Внутри папки с Вашей темой оформления обязательно должен находиться файл theme.php, это главный файл темы. Для работоспособности темы оформления в принципе, можно этим и ограничиться, но обычно в этой папке лежит еще файл style.css (таблица стилей) а так же папки images и forum. Файл style.css содержит определения стилей (внешнего вида элементов сайта), в папке images лежат графические файлы используемые в дизайне (всякие точечки, квадратики, фоны, распорки для таблиц), в папке forum лежат графические изображения кнопок форума ("new thread", "edit" и т.д.).


Мы сказали, что theme.php - главный файл темы, почему мы его так назвали и что в нем должно находиться мы скоро увидим, а пока разбермся, как движок работает с темой оформления.


Как PHP-Fusion обрабатывает файл темы



Основная задача движка - вывести из базы данных некую информацию на страничку, задача темы при этом - обеспечить желаемый внешний вид этого вывода. Как мы уже видели, сайт на PHP-Fusion имеет блочную структуру. Есть два больших блока имеющих самостоятельное устройство заголовок и подвал. И есть левая/правая колонки, а так же центр, содержание и вид которых определяется наличием, внешним видом и содержанием более мелких блоков.


Что я имею в виду? Обратите внимание: заголовок и подвал выглядят одинаково на всех страницах сайта, а содержимое центра, естественно изменяется. Хотя левая и правая колонки тоже обычно одинаковы на всех страницах, но тем не менее мы легко можем изменить их содержимое, убрав или добавив панель. Если присмотреться, можно увидеть, что панели живут не только в боковых колонках, что в центральной части содержимое тоже обычно заключено в панели. Или таблицы.


Основной принцип устройства HTML состоит в том, что существуют теги открывающие (<table>) и закрывающие (</table>). Идея темы состоит в дальнейшем развитии этого принципа: мы выделяем фрагмент HTML-кода образующий начало целого блока (например: "<table><tr><td>") и фрагмент закрывающего кода: "</td><tr></table>", а между ними можем разместить любое содержимое. В данном случае получается простая таблица с одной ячейкой.


Теперь ответим на главный вопрос этой части, как же движок работает с темой?


В общем случае это выглядит так: сначала движок вызывает функцию, написанную на языке PHP, которая "рисует" начало блока (HTML-код), затем движок выводит содержимое данного блока а затем вызывает функцию "рисования" завершающей части блока. Впрочем, некоторые функции самостоятельно рисуют и начало, и конец, и встраивают содержимое в середину. Главное, что этими функциями создается обрамление для содержимого страницы или отдельного блока.


Откуда же движок знает, что и когда ему рисовать? Ответ на этот вопрос раскроет нам и тайну содержимого файла theme.php.


Содержимое файла theme.php


Все функции, отвечающие за "рисование" элементов оформления сайта находятся в файле theme.php. Именно оттуда, по мере надобности, движок вызывает эти функции. В настоящий момент этих функций в PHP-Fusion всего 11. Во всех темах они имеют одинаковые названия и ОБЯЗАТЕЛЬНО, все 11 штук, должны быть описаны в файле theme.php. Об их назначении можно судить по их названиям, так что сложностей возникать не должно. Вот эти 11 функций:


function render_header($header_content) - эта функция рисует заголовок сайта. Она вызывается из файла (если вам это интересно) subheader.php, где в качестве параметра ей передается код логотипа сайта. Если Вы хотите изменить внешний вид шапки сайта, необходимо изменить эту функцию в файле theme.php, если Вы хотите вместо логотипа выводить что-то другое, или добавить в шапку код баннера - изменяйте параметр вызова данной функции в файле subheader.php.


function render_footer($license=false) - эта функция выводит подвал (footer)сайта, со всеми копирайтам, счетчиками уникальных посещений и прочим.


function render_news($subject, $news, $info) - определяет внешний вид каждой новости, грубо говоря - рисует вокруг текста новости таблицу, код которой задается в тексте функции и прописывает строчку "автор", "дата", "Прочтений" и графическую иконку принтера для открытия страницы "для печати".


function render_article($subject, $article, $info) - делает в точности то же самое, но для статей (отсюда вывод - статьи могут внешне достаточно сильно отличаться от новостей!).


function openside($title) - выводит открывающую, верхнюю часть панели (прямоугольного блока, размещаемого (обычно, но не только)) в боковых колонках. В качестве $title передается заголовок (название)панели.


function closeside() завершает панель, начатую предыдущей функцией. Между вызовами функция выводится содержимое панели.


Для понимания применения этих двух функций, попытайтесь из Панели администратора создать новую панель и посмотрите на предложенный Вам шаблон кода.


function opensidex($title,$state="on") и

function closesidex() - делают то же самое, что две предыдущие функции, только панель получается "скрытая" - она может закрываться и раскрываться. Если при вызове функции в качестве второго параметра передается строка "on", панель будет изначально открыта, если "off" - закрыта.

Обратите внимание данные функции должны обязательно использоваться попарно. То есть если вызывается openside(), то в конце обязательно необходимо вызвать closeside(), если opensidex(), то в конце - closesidex().


function opentable($title) и

function closetable() начинают и завершают таблицу в которую обычно помещается ВСЕ содержимое центральной части. На Ваших собственных страницах никто не мешает вам использовать любое количество вызовов этих функций для формирования смысловых блоков. В этом случае пригодится последняя функция:


function tablebreak() - код выводимый этой функцией разделяет блоки сайта (обычно выводя между ними пустую таблицу, отсюда и название).


Обобщение


Итак, в этом разделе мы рассмотрели все 11 функций файла themes.php.

Именно эти 11 функций рисуют на странице все элементы дизайна Вашего сайта. Дизайнерский код (html) прописан прямо в этих функциях и выводится оператором PHP echo.


пример:


echo "<table align='center' cellspacing='0' cellpadding='0' width='100%'>

<tr><td>
Что-то там..</td></tr></table>";


Сайт на PHP-Fusion на основных страницах, существующих на сайте сразу после установки, вызывает эти функции самостоятельно. Если вы создаете свою собственную страницу или панель, об их вызове Вы должны позаботиться сами.

 

Украинская Баннерная Сеть
 
 Категории новостей
Для просмотра нажмите стрелку слева Наш банер
RSS новости php fusion  Новости RSS
 Просьба...
Убедительная просьба!
Свои вопросы касательно
PHP-Fusion,
задавать в форум,
а не в миничат!

Миничат для флуда,
а если хотите получить ответ,
то к Вам убедительная просьба
- - - -

Пишите в форум!!!

 
Для просмотра нажмите стрелку слева 
Смена Темы
Нажмите (F5) для обновления
 Мини-чат
Вам необходимо залогиниться.

maf
06/06/2013 15:10
Зачем на амеров пинять - сами то что полезного сделали хоть раз? Или абы только потрындеть?

kot2007
18/05/2013 11:31
Почитав про USA http://www.php-fusion.co.
uk/news.php?readmore=572 , згадав про цей сайт... А тут вже все пилом припало і павутиною заросло smiley


maf
30/11/2012 00:33
? вам поговорить или проспамиться? ваша ссылка в ноиндексе ))

Dino
12/11/2012 23:47
Гых... народу, скажем, не густо %)

jikaka
13/02/2012 10:22
smiley

Архив чата
 
 Категории статей
 Последние статьи
Создание и раскрутка...
Шаблоны сайтов или о...
Как выбрать камеру в...
Устройство тем в Php...
Файл robots.txt и ег...
Выбор ключевых слов ...
Работа с кодировками
Индекс цитирования
PHP 5 -что изменилось?
 
 Партнеры проекта