Что нужно сделать для создания новой нуль-темы

  Vveb.ws / PHP-Fusion / PHP-Fusion дизайн / Темы /    Что нужно сделать для создания новой нуль-темы



Notice: Undefined index: user_id in /home/ih93704/public_html/php-fusion.php on line 174

Что такое нуль-темы
Теперь весь дизайн можно сделать в виде добавления и удаления панелей. И в теме нужно прописывать очень мало кода.
Нуль-темы - это темы вообще без дизайнов хэдэра и футэра.
Чтобы отображался хэдэр и футэр в нуль-темах, необходимо добавить в «Место: FOOTER» и «Место: HEADER» соответствующие панели, а также задать padding и margin для этих панелей в styles.css темы.

Что нужно сделать чтобы создать нуль-тему:
= настроить панели в "Управление панелями" administration/panels.php. Там же задать "Размеры блоков <li> для панелей в «HEADER_LI» и «FOOTER_LI»" на странице "Управление панелями"
= внести в файл темы theme.php свои данные. Иначе дефолтные данные будут взяты из themes/templates/panels.php. Тема работает даже если файл theme.php и styles.css пустой.
= внести цвета и текстуры в css файл новой темы styles.css

Дефолтные значения темы
Все дефолтные значения и функции темы собраны в одном файле
/themes/templates/panels.php
PHP
  1. <?php
  2. if(!defined("THEME_BULLET")) define("THEME_BULLET",   "<span class='bullet'>&middot;</span>");
  3. if (    !isset($theme_bullet))  
  4.     $theme_bullet = "<span class='bullet'>&middot;</span>";
  5.      // $theme_bullet = "<span class='bullet'>·</span>";
  6.      // $theme_bullet = "<span class='bullet'> :: </span>";
  7.      // $theme_bullet = "<span class='bullet'> | </span>";
  8. // промежуток между блоками ВЕРТИКАЛЬНЫЙ closetable() - opentable()
  9. if (    !isset($vertical_spacer))       $vertical_spacer = "
  10. <div style='height:10px;'></div>
  11. ";
  12. // ПАРАМЕТРЫ СТРАНИЦЫ <BODY>
  13. if (!isset($body_param))    $body_param=" topmargin='10'  leftmargin='10'  rightmargin='10'  bottommargin='10' ";
  14. ?>


Из функций opentable() и closetable() создаются функции render_news() и render_article().
/themes/templates/panels.php

PHP
  1. <?php
  2. // RENDERARTICLE И RENDERNEWS ИЗ OPENTABLE
  3. if (!function_exists("render_news")) {
  4. function render_news($subject, $news, $info) {
  5.     opentable($subject);
  6.     echo $news;
  7.     echo "<hr>\n";
  8.     echo "<center><span class='news-footer middle-border'>\n";
  9.     echo newsposter($info, " ·").newsopts($info, "·").itemoptions("N", $info['news_id']);
  10.     echo "</span></center>\n";
  11.     closetable();
  12. }
  13. }
  14. if (!function_exists("render_article")) {
  15. function render_article($subject, $article, $info) {
  16.     opentable($subject);
  17.     echo ($info['article_breaks'] == "y" ? nl2br($article) : $article) ;
  18.     echo "<hr>\n";
  19.     echo "<center><span class='news-footer'>\n";
  20.     echo articleposter($info, " ·").articleopts($info, "·").itemoptions("A", $info['article_id']);
  21.     echo "</span></center>\n";
  22.     closetable();
  23. }
  24. }
  25. ?>



Инклюды THEME ."/theme.php
Можно сделать инклюд функций opentable(), closetable(), openside(), closeside() из набора папки themes/templates/opentable/ . например:
THEME ."/theme.php

PHP
  1. <?php
  2. include THEMES."templates/opentable/Gillette.php";
  3. ?>




Какие строки может содержать THEME ."/theme.php
сайт будет грузиться и с пустыми THEME ."/theme.php и THEME ."/styles.css

Эта строка уже не нужна, так как она есть в themes/templates/panels.php
PHP
  1. <?php
  2. if (!defined("IN_FUSION")) { die("Access Denied"); }
  3. ?>



Я не задаю обычно ширину темы, так как щас много разных смартфонов.
В дефолтной функции render_page() THEME_WIDTH не используется
PHP
  1. <?php
  2. define("THEME_WIDTH", "100%");
  3. //define("THEME_WIDTH", "1024px");
  4. ?>



THEME_BULLET - разделитель ссылок в горизонтальном меню или маркер слева в вертикальном.
можно сделать и картинкой.
PHP
  1. <?php
  2. define("THEME_BULLET", " ");
  3. // define("THEME_BULLET", "<img src='".THEME."images/bullet.gif' alt='' style='border:0' />");
  4. $theme_bullet = " ";
  5.      // $theme_bullet = "<span class='bullet'>&middot;</span>";
  6.      // $theme_bullet = "<span class='bullet'>·</span>";
  7.      // $theme_bullet = "<span class='bullet'> :: </span>";
  8.      // $theme_bullet = "<span class='bullet'> | </span>";
  9. ?>


в функциях closeside() и closetable() в конце есть строка
PHP
  1. <?php
  2. echo $vertical_spacer;
  3. ?>


варианты значений $vertical_spacer
PHP
  1. <?php
  2. $vertical_spacer = "
  3. <div style='height:8px;'></div>
  4. ";
  5. ?>



$body_param - очень важный параметр для вёрстки нуль-тем без полей

PHP
  1. <?php
  2. $body_param = " topmargin='0' leftmargin='0' rightmargin='0'  bottommargin='0'  marginheight='0' marginwidth='0' ";
  3. ?>


для некоторых браузеров недостаточно задать свойства <body>

THEME ."styles.css

body {
margin: 0px;
padding: 0px;
}



css адаптивности.
r - меню справа
l - меню слева
70 - ширина колонок 70% и 30%
w800 - на мониторах от 800px будет две колонки, на меньших всё в одну колонку.
$adapt_css='adapt/r70_w800.css';


padding боковой таблицы меню
PHP
  1. <?php
  2. $menu_cellpadding='0';
  3. ?>



padding таблицы основного содержания
PHP
  1. <?php
  2. $main_cellpadding='0';
  3. ?>



padding левой и правой таблицы. Если надо здатать padding в css . Если не задан то css не добавляется в <head>
PHP
  1. <?php
  2. $adapt_padding_css='adapt/p8.css';
  3. ?>



padding общей таблицы меню и основного содержания
PHP
  1. <?php
  2. $all_cellpadding='0';
  3. ?>



текст над основным текстом (можно впихнуть код банера или кнопок поделиться, если нужно для всего сайта)
PHP
  1. <?php
  2. $before_main='';
  3. ?>



текст под основным текстом
PHP
  1. <?php
  2. $after_main='';
  3. ?>



padding таблицы header
PHP
  1. <?php
  2. $header_cellpadding='0';
  3. ?>



padding таблицы footer
PHP
  1. <?php
  2. $footer_cellpadding='0';
  3. ?>



padding общей таблицы всей страницы
PHP
  1. <?php
  2. $whole_cellpadding='0';
  3. ?>



меню слева или справа
PHP
  1. <?php
  2. $left_right="r";
  3. ?>



Рекомендуется задифайнить RENDER_PAGE_INC

PHP
  1. <?php
  2. define("RENDER_PAGE_INC", "2");
  3. // define("RENDER_PAGE_INC", "1"); - render_page.php из папки темы
  4. // define("RENDER_PAGE_INC", "2"); - render_page.php из папки templates
  5. // not defined - render_page(false);
  6. ?>


"1" - в папке своей темы можно создать свой файл THEME."render_page.php". Это стандартная нуль-тема.
"2" - иначе берётся дефолтный THEMES."templates/adapt_inc.php"
THEMES."templates/footer.php

PHP
  1. <?php
  2. if (defined("RENDER_PAGE_INC")) {
  3.     if (RENDER_PAGE_INC=="1")
  4.         include THEME."render_page.php";
  5.     else
  6.         include THEMES."templates/adapt_inc.php";
  7. } else
  8.     render_page(false);
  9. ?>

Если дифайна нет, и не задана функция render_page(), то используется дефолтная render_page() из themes/templates/panels.php.


НОВЫЕ CSS ТЕМЫ

Выравнивание блока вложенных панелей в «_footer_li_panel» и «_header_li_panel»
вёрстка осуществляется путём вложеных таблиц.
внешняя таблиц - 100% ширины, а выравнивание ячейки по центру.
внутренняя таблица - ширина не задана, по содержимому.
по умолчанию блок вложенных панелей располагаются по центру.
чтобы все панели меню были выровнены по левому краю, задайте в CSS темы
THEME ."styles.css

table.menu_in { width:100% ; }



Автоматически создаваемые CSS размеров "Навигации"
Все размеры кнопок, банеров, тизеров со страницы админки "Навигация" (/administration/site_links.php) создаются автоматически в этом же файле.
/themes/templates/header.php


PHP
  1. <?php
  2. echo "<link rel='stylesheet' href='".THEMES."templates/nav.css' type='text/css' media='screen' />\n";
  3. ?>


Файл '".THEMES."templates/nav.css' не нужно редактировать вручную. В крайнем случае можно задать новые значения в '".THEME."styles.css'

Встроенные дополнительные CSS-файлы темы
Вы можете использовать файлы CSS от других тем, если скопируете в папку темы или создадите эти файлы:

styles_paddings.css
styles_fonts.css
styles_colors.css

Они запрашиваются до основного файла styles.css, поэтому в основном файле могут быть переназначены некоторые значения.
/themes/templates/header.php

PHP
  1. <?php
  2. echo "<link rel='stylesheet' href='".THEME."styles_paddings.css' type='text/css' media='screen' />\n";
  3. echo "<link rel='stylesheet' href='".THEME."styles_fonts.css' type='text/css' media='screen' />\n";
  4. echo "<link rel='stylesheet' href='".THEME."styles_colors.css' type='text/css' media='screen' />\n";
  5. echo  "<link rel='stylesheet' href='".THEME."styles.css' type='text/css' media='screen' />\n";
  6. ?>


Дополнительные CSS-файлы шрифтов и отступов
= можно добавить css размеров шрифта из набора папки themes/templates/fonts_css/
= можно добавить css padding-margin из набора папки themes/templates/paddings_css/
функцией add_to_head() в файле темы theme.php например:
PHP
  1. <?php
  2. add_to_head("\n<link rel='stylesheet' href='".THEMES."templates/paddings_css/2-4px_Gillette.css' type='text/css' media='screen' />\n");
  3. ?>


= Добавьте функцией add_to_head() в файле темы theme.php стиль textarea для TinyMCE - themes/templates/fonts_css/TinyMCE_body_black-white_Arial_Verdana_Tahoma=18px.css
PHP
  1. <?php
  2. add_to_head("\n<link rel='stylesheet' href='".THEMES."templates/fonts_css/TinyMCE_body_black-white_Arial_Verdana_Tahoma=18px.css' type='text/css' media='screen' />\n");
  3. ?>



Как задать padding и margin панелей
Это необходимо чтобы сделать правильные отступы по краям страницы, особенно для шапки.
Каждая панель завёрнута в div, например:

<div class='panel side1 nav_button_panel'>


nav_button_panel - собственное имя панели. Так можно задать свойства одной панели
side1 - «Место»
panel - класс всех панелей.
Как правильно задать свойства панелей код css свойства
div.nav_button_panel { } одной панели, в частности nav_button_panel
div.side1 { } всех панелей «Место: Слева»
div.side2 { } всех панелей «Место: Центр»
div.side3 { } всех панелей «Место: По центру снизу»
div.side4 { } всех панелей «Место: Справа»
div.side5 { } всех панелей «Место: HEADER»
div.side6 { } всех панелей «Место: FOOTER»
div.side7 { } всех панелей «Место: HEADER_LI»
div.side8 { } всех панелей «Место: FOOTER_LI»
div.panel { } всех панелей

 
Themes

Notice: Undefined index: user_id in /home/ih93704/public_html/infusions/phpfunc_panel/phpfunc_set.php on line 92

Notice: Undefined index: user_id in /home/ih93704/public_html/infusions/phpfunc_panel/phpfunc_set.php on line 92

Notice: Undefined index: user_id in /home/ih93704/public_html/infusions/phpfunc_panel/phpfunc_set.php on line 92

Notice: Undefined index: user_id in /home/ih93704/public_html/infusions/phpfunc_panel/phpfunc_set.php on line 92

Notice: Undefined index: user_id in /home/ih93704/public_html/infusions/phpfunc_panel/phpfunc_set.php on line 92

Notice: Undefined index: user_id in /home/ih93704/public_html/infusions/phpfunc_panel/phpfunc_set.php on line 92
 Адаптивные темы для PHP-Fusion 7 Responsive themes for PHP-Fusion 7  

 Адаптивные темы для PHP-Fusion 7
 Responsive themes for PHP-Fusion 7

 

 Добавление баннера 480х60 из файла в верхний правый угол рядом с логотипом в PHP-Fusion 6
 Adding a 480x60 banner from the file to the upper right corner next to the logo in PHP-Fusion 6

 

 как сделать ссылку с помощью javascript?
 how to make a link using javascript?

 

 Устройство тем в Php-Fusion 6
 Theme device in Php-Fusion 6

 

 Как сделать вывод даты по-русски в PHP-Fusion 6 (не проверял)
 How to make a date in Russian in PHP-Fusion 6 (Did not check)

 

 Установка баннера 480х60 в верхний правый угол PHP-Fusion
 Banner installation 480x60 in the upper right corner PHP-Fusion

 

Warning: strpos() [function.strpos]: Offset not contained in string in /home/ih93704/public_html/infusions/pageref_panel/infusion_db.php on line 45
Яндекс.Метрика