makehtml.php
В файле themes/[имя_темы]/appearance/makehtml.php осуществляется:
- сборка html-файла темы
- подключение ThemeBlocks и PageBlocks
- определение устройства
- возможность задавать различные html-файлы тем для разных кластеров и для главной страницы
Работает с версии 5.0, где в ядро внесен VisualTheme
<?php
//***********************
// Подключение определителя устройства
//***********************
$srvMob = $this->srvFactory("UtilMobileDetect");
$version = $srvMob->getVersion();
//$srvPageBlocks = $this->srvFactory("PageBlocks");
//$pageblocks = $srvPageBlocks->getAllBlocksCurPage();
//if($pageblocks["title"] != "") $this->theme_title = $pageblocks["title"];
if($version == "iphone") $forbidClassicCSSandJS = $forbidJSCalendar = true;
if($version == "mobile") $forbidClassicCSSandJS = $forbidJSCalendar = $forbidJSAjax = true;
//***********************
// Запуск VisualTheme
//***********************
include("themes/standartHeaderWithoutBody.php");
$keyFile = 'theme';
//***********************
// специальные темы для кластеров (опц.)
//***********************
/* if(($this->page["tag"] == $this->config["root_page"]) && ($version == "desktop"))
$keyFile = 'theme-main';
$tag = explode('/', $this->page["tag"], 2);
switch($tag[0]) {
case 'Tags':
$keyFile = 'themeTags';
break;
case 'Вход':
$keyFile = 'themeEnter';
break;
}
*/
//***********************
// Подключение шаблона
//***********************
$sm = $this->vtNewSmarty();
$sm->assign('content',$data);
$sm->assign('path', $this->GetPagePath());
$sm->assign('pathwithspaces', $this->vtGetPagePathWithSpaces());
//$isUser = $this->GetUser()?true:false;
$sm->assign('isUser', $this->GetUser()?true:false);
$showGlobalMsg = "";
if ($message)
$showGlobalMsg = "alert('".$message."');";
$sm->assign('showGlobalMsg', $showGlobalMsg);
//***********************
// Подключение блоков (общих и постраничных)
//***********************
if($this->srvIsInstalled('ThemeBlocks'))
$sm->assign('blocks', ThemeBlocks_AllBlocks($this));
//$sm->assign('elements', $this->ajxElementsAllRun());
//$srvPageBlocks = $this->srvFactory('PageBlocks');
//if($srvPageBlocks)
// $sm->assign('pageblock', $srvPageBlocks->getAllBlocksCurPage());
//**********************************************
//echo $sm->fetch($keyFile.'-iphone.htm');
//echo $sm->fetch($keyFile.'-'.$version.'.htm');
echo $sm->fetch($keyFile.'.htm');
?>