Версия: 5.x
Класс Application

Подробное описание

Singleton Класс отвечает за параметры текущей страницы

Открытые члены

 setDebugMode ($mode)
 
 getDebugMode ()
 
 initThemePath ()
 
 addJsVar ($key, $value=null)
 
 getJSVar ($key=null)
 
 getJsonJsVars ()
 
 setJsDefaultFooterPosition ($bool)
 
 setCssDefaultFooterPosition ($bool)
 
 addJs ($jspath, $name=null, $basepath=null, $no_compress=false, $params=array())
 
 setBaseJs ($folder)
 
 getJs ($position=self::POSITION_HEADER, $absolute=false)
 
 addJsCode ($name, $jscode, $position= 'footer')
 
 getJsCode ($position= 'footer')
 
 setBaseCss ($folder)
 
 addCss ($csspath, $name=null, $basepath=null, $no_compress=false, $params=array())
 
 preparePath ($filepath, &$basepath, $type)
 
 findAlternativeFile ($file_array, $type, $cache=true)
 
 removeJs ($name=null)
 
 removeCss ($name=null)
 
 getCss ($position=self::POSITION_HEADER, $absolute=false)
 
 setDoctype ($doctype)
 
 getDoctype ()
 
 getAnyHeadData ()
 
 setAnyHeadData ($data, $append=true)
 
 addHeadAttribute ($key, $value=null)
 
 getHeadAttributes ($inline=false)
 
 autoloadScripsAjaxBefore ()
 
 autoloadScripsAjaxAfter ()
 
 setBodyClass ($class, $append=false)
 
 getBodyClass ()
 
 setBodyAttr ($key, $value=null, $append=true)
 
 getBodyAttr ($key=null)
 
 getBodyAttrLine ()
 
 setHtmlAttr ($key, $value=null, $append=true)
 
 getHtmlAttr ($key=null)
 
 getHtmlAttrLine ()
 
 showException ($status_code, $comment=null, $http_code_phrase=null)
 
 cleanOutput ()
 
 redirect ($url=null, $status=302)
 

Открытые статические члены

static getInstance ()
 

Поля данных

const POSITION_HEADER = 'header'
 
const POSITION_FOOTER = 'footer'
 
const DEFAULT_ERROR_PAGE_TPL = '%THEME%/exception.tpl'
 
const DEFAULT_ADMIN_ERROR_PAGE_TPL = '%SYSTEM%/admin/exception.tpl'
 
const DEBUG_MODE_BLOCKS = 'blocks'
 
const DEBUG_MODE_SECTIONS_AND_ROWS = 'sectionsandrows'
 
const DEBUG_MODE_CONTAINERS = 'containers'
 
const DEBUG_MODE_COOKIE = 'debug_mode'
 
 $title
 
 $meta
 
 $headers
 
 $breadcrumbs
 
 $blocks
 
 $is_admin_zone
 
 $body_class
 
 $html_attr = []
 
 $body_attr = []
 
 $js_no_compress = []
 
 $css_no_compress = []
 
 $js_default_position = self::POSITION_HEADER
 
 $css_default_position = self::POSITION_HEADER
 
 $js
 
 $css
 
 $jscode = []
 
 $js_vars = []
 
 $base_js
 
 $base_css
 
 $theme
 
 $any_head_data = ''
 
 $alternative_cache = 0
 
 $head_attributes = []
 

Защищенные члены

 __construct ()
 

Защищенные данные

 $doctype = DOCTYPE
 
 $debug_mode = self::DEBUG_MODE_BLOCKS
 
 $debug_modes
 

Статические защищенные данные

static $instance
 

Конструктор(ы)

__construct ( )
protected

Методы

addCss (   $csspath,
  $name = null,
  $basepath = null,
  $no_compress = false,
  $params = array() 
)

Подключить CSS к странице

Аргументы
string$csspathпуть к css - файлу
string$name- внутренне имя
string$basepath- базовый путь к папке BP_ROOT, BP_THEME, BP_COMMON
bool$no_compress- Не сжимать файл, даже если ::$COMPRESS_CSS установлено в true
array$params- Дополнительные параметры
Возвращает
Application
addHeadAttribute (   $key,
  $value = null 
)

Добавляет атрибут к секции head

Аргументы
string | array$keyатрибут
string$valueзначение атрибута
Возвращает
Application
addJs (   $jspath,
  $name = null,
  $basepath = null,
  $no_compress = false,
  $params = array() 
)

Подключить JavaScript к странице

Аргументы
string$jspathпуть к js - файлу
string$nameвнутренне имя
string$basepathбазовый путь к папке BP_ROOT, BP_THEME, BP_COMMON
bool$no_compress- Не сжимать файл, даже если ::$COMPRESS_JS установлено в true
array$params- массив дополнительных параметров (header, footer, unshift и т.д.)
Возвращает
Application
addJsCode (   $name,
  $jscode,
  $position = 'footer' 
)

Добавить на страницу JavaScript код

Аргументы
mixed$nameвнутреннее название кода
mixed$jscodeJavaScript код
string$position- позизия для которой нужно получить код JS
Возвращает
self
addJsVar (   $key,
  $value = null 
)

Добавляет переменную для использования в JavaScript

Аргументы
integer  |  string  |  array$key
mixed$value
Возвращает
Application
autoloadScripsAjaxAfter ( )

Возвращает HTML код ajax-загрузки JS и CSS файлов

Возвращает
string|null
Исключения
SmartyException
autoloadScripsAjaxBefore ( )

Возвращает HTML код, который приостанавливает выполнение JavaScript кода до полной загрузки скриптов

Возвращает
string|null
Исключения
SmartyException
cleanOutput ( )

Очищает буфер вывода

Возвращает
void
findAlternativeFile (   $file_array,
  $type,
  $cache = true 
)

Проверяем, если файл есть в папке с темой оформления, то используем его Тем самым даем возможность перегрузить JS, CSS файлы модулей локальными в теме оформления А также даем возможность перегрузить CSS, JS файлы в самой теме оформления

Аргументы
array$file_array- массив подключаемых файлов
string$type- тип файла
bool$cache- кэш ключен
Возвращает
mixed
getAnyHeadData ( )

Возвращает текстовую информацию, установленную с помощью addAnyHeadData

getBodyAttr (   $key = null)

Возвращает значение атрибута для body

Аргументы
string$keyназвание атрибута
Возвращает
string|array
getBodyAttrLine ( )

Возвращает строку атрибутов, которые необходимо установить тегу body

Возвращает
string
getBodyClass ( )

Возвращает класс для тега body

Возвращает
string
getCss (   $position = self::POSITION_HEADER,
  $absolute = false 
)

Возвращает массив CSS файлов, которые необходимо подключить на странице Если включена опция ::$COMPRESS_CSS, то CSS файлы будут объеденены и оптимизированы

Аргументы
boolean$absolute- генерировать абсолютный путь?
Возвращает
array
Исключения
RS
getDebugMode ( )

Возвращает текущий тип вида отладки для публичной части

getDoctype ( )

Возвращает DOCTYPE, который должен быть установлен

Возвращает
string
getHeadAttributes (   $inline = false)

Возвращает атрибуты для тега head

Аргументы
bool$inline- Если true, возвращает строку, иначе массив
Возвращает
string|array
getHtmlAttr (   $key = null)

Возвращает значение атрибута для html

Аргументы
string$keyназвание атрибута
Возвращает
string|array
getHtmlAttrLine ( )

Возвращает строку атрибутов, которые необходимо установить тегу html

Возвращает
string
static getInstance ( )
static
getJs (   $position = self::POSITION_HEADER,
  $absolute = false 
)

Возвращает список JavaScript файлов, которые необходимо подключить

Аргументы
string$position- в какую позицию добавлять JS
boolean$absolute- генерировать абсолютный путь?
Возвращает
array
Исключения
RS
getJsCode (   $position = 'footer')

Возвращает JavaScript код, который нужно добавить в HEAD секцию HTML

Аргументы
string$position- позизия для которой нужно получить код JS
Возвращает
string
getJsonJsVars ( )

Возвращает массив переменных, подготовленных для JavaScript

Возвращает
string данные в json формате
getJSVar (   $key = null)

Возвращает переменную для JavaScript по ключу. Если не указан, то

Аргументы
string$key- ключ массива переменных
Возвращает
bool|mixed
initThemePath ( )

Инициализирует переменные, зависящие от текущей темы оформления

Возвращает
Application
preparePath (   $filepath,
$basepath,
  $type 
)

Заменяет конструкцию ИМЯ_МОДУЛЯ% на путь к папке CSS и JS соответствующего модуля. basepath принудительно устанавливается в root

Аргументы
string$filepath- ссылка на CSS или JS файл
bool$basepath- базовый путь к папке
string$type- js или CSS
Возвращает
string
redirect (   $url = null,
  $status = 302 
)

Перенаправляет браузер пользователя на другую страницу. Прекращает выполнение скрипта

Аргументы
string$urlЕсли url не задан, то перенаправляет на корневую страницу сайта
int$status- номер статуса редиректа с которым выполнять редирект
removeCss (   $name = null)

Удаляет css файл по ключу, если он задан, или удаляет все вскрипты

Аргументы
mixed$name
Возвращает
Application
removeJs (   $name = null)

Удаляет js файл по ключу, если он задан, или удаляет все вскрипты

Аргументы
string | null$name- ключ js скриппта
Возвращает
Application
setAnyHeadData (   $data,
  $append = true 
)

Устанавливает произвольный текст в секцию HEAD

Аргументы
string$data
bool$append
Возвращает
Application
setBaseCss (   $folder)

Устанавливает путь к CSS по-умолчанию

Аргументы
string$folder
Возвращает
void
setBaseJs (   $folder)

Устанавливает базовый путь к папке со скриптам

Аргументы
string$folder
Возвращает
void
setBodyAttr (   $key,
  $value = null,
  $append = true 
)

Устанавливает атрибуты, которые следует добавить к body. Класс следует добавлять через метод setBodyClass

Аргументы
string | array$key- название атрибута. В array можно передать ассоциативный массив с названиями и значениями атрибутов
$value- значение атрибута, ели $key строка
bool$appendЕсли true, то атрибут будет добавлен к остальным
Возвращает
void
setBodyClass (   $class,
  $append = false 
)

Устанавливает класс для тега body

Аргументы
mixed$class
bool$append- Если true, то класс будет добавлен, иначе заменен
Возвращает
void
setCssDefaultFooterPosition (   $bool)

Устанавливает позицию добавления стилей по-умолчанию - в Footer

Аргументы
bool$bool- если true, то стили по умолчанию добавляются в Footer, если иного не указано в конструкции добавления скрипта
Возвращает
void
setDebugMode (   $mode)

Устанавливает тип вида режима отладки для публичной части (Блоки, Строки, Секции, Контейнеры)

Аргументы
string$mode- нужный нам режим вида правки
setDoctype (   $doctype)

Задает DOCTYPE, который должен быть установлен

Аргументы
string$doctype
Возвращает
void
setHtmlAttr (   $key,
  $value = null,
  $append = true 
)

Устанавливает атрибуты, которые следует добавить к тегу html.

Аргументы
string | array$key- название атрибута. В array можно передать ассоциативный массив с названиями и значениями атрибутов
$value- значение атрибута, ели $key строка
bool$appendЕсли true, то атрибут будет добавлен к остальным
Возвращает
void
setJsDefaultFooterPosition (   $bool)

Устанавливает позицию добавления скриптов по-умолчанию - в Footer

Аргументы
bool$bool- если true, то скипты по умолчанию добавляются в Footer, если иного не указано в конструкции добавления скрипта
Возвращает
void
showException (   $status_code,
  $comment = null,
  $http_code_phrase = null 
)

Отображает страницу с ошибкой. Прекращает выполение скрипта

Аргументы
integer$status_code
string  |  null$comment
string  |  null$http_code_phrase
Возвращает
void

Поля

$alternative_cache = 0
$any_head_data = ''
$base_css
$base_js
$blocks
$body_attr = []
$body_class
$breadcrumbs
$css
Инициализатор
= array(
self::POSITION_HEADER => [],
self::POSITION_FOOTER => []
)
$css_default_position = self::POSITION_HEADER
$css_no_compress = []
$debug_mode = self::DEBUG_MODE_BLOCKS
protected
$debug_modes
protected
Инициализатор
= array(
self::DEBUG_MODE_BLOCKS,
self::DEBUG_MODE_SECTIONS_AND_ROWS,
self::DEBUG_MODE_CONTAINERS
)
$doctype = DOCTYPE
protected
$head_attributes = []
$headers
$html_attr = []
$instance
staticprotected
$is_admin_zone
$js
Инициализатор
= array(
self::POSITION_HEADER => [],
self::POSITION_FOOTER => []
)
$js_default_position = self::POSITION_HEADER
$js_no_compress = []
$js_vars = []
$jscode = []
$meta
$theme
$title
const DEBUG_MODE_BLOCKS = 'blocks'
const DEBUG_MODE_CONTAINERS = 'containers'
const DEBUG_MODE_COOKIE = 'debug_mode'
const DEBUG_MODE_SECTIONS_AND_ROWS = 'sectionsandrows'
const DEFAULT_ADMIN_ERROR_PAGE_TPL = '%SYSTEM%/admin/exception.tpl'
const DEFAULT_ERROR_PAGE_TPL = '%THEME%/exception.tpl'
const POSITION_FOOTER = 'footer'
const POSITION_HEADER = 'header'