Spec-Zone.ru › Yii 1.1

CThemeManager

Пакет system.web
Наследование class CThemeManager » CApplicationComponent » CComponent
Реализует IApplicationComponent
С версии 1.0
Исходный код framework/web/CThemeManager.php
CThemeManager управляет темами веб-приложения.

Тема — это набор файлов представления/макета и файлов ресурсов (например, css, изображения, js-файлы). Когда активна тема, CController сначала ищет указанные представление/макет в папке темы. Соответствующие файлы представления/макета будут использоваться, если тема их предоставляет. В противном случае будут использованы стандартные файлы представления/макета.

По умолчанию каждая тема организована как директория с именем, соответствующим названию темы. Все темы расположены в каталоге "WebRootPath/themes".

Чтобы активировать тему, установите свойство theme в имя этой темы.

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

Свойства общего доступа

Свойство Тип Описание Определено
basePath string базовый путь для всех тем. CThemeManager
baseUrl string базовый URL для всех тем. CThemeManager
behaviors array поведение, которое должно быть прикреплено к данному компоненту. CApplicationComponent
isInitialized boolean Проверяет, был ли инициализирован компонент приложения. CApplicationComponent
themeClass string имя класса темы для представления темы. CThemeManager
themeNames array список доступных названий тем CThemeManager

Методы общего доступа

Метод Описание Определено
__call() Вызывает метод, который не является методом класса. CComponent
__get() Возвращает значение свойства, список обработчиков событий или поведение по его имени. CComponent
__isset() Проверяет, является ли значение свойства null. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в null. CComponent
asa() Возвращает объект поведения с указанным именем. CComponent
attachBehavior() Прикрепляет поведение к этому компоненту. CComponent
attachBehaviors() Прикрепляет список поведений к компоненту. CComponent
attachEventHandler() Прикрепляет обработчик событий к событию. CComponent
canGetProperty() Определяет, можно ли читать свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
detachBehavior() Отсоединяет поведение от компонента. CComponent
detachBehaviors() Отсоединяет все поведения от компонента. CComponent
detachEventHandler() Отсоединяет существующий обработчик событий. CComponent
disableBehavior() Отключает прикрепленное поведение. CComponent
disableBehaviors() Отключает все прикрепленные поведения к данному компоненту. CComponent
enableBehavior() Включает прикрепленное поведение. CComponent
enableBehaviors() Включает все прикрепленные к данному компоненту поведения. CComponent
evaluateExpression() Вычисляет выражение PHP или обратный вызов в контексте этого компонента. CComponent
getBasePath() Возвращает базовый путь для всех тем. По умолчанию "WebRootPath/themes". CThemeManager
getBaseUrl() Возвращает базовый URL для всех тем. По умолчанию "/WebRoot/themes". CThemeManager
getEventHandlers() Возвращает список прикреплённых обработчиков событий для события. CComponent
getIsInitialized() Проверяет, был ли инициализирован компонент приложения. CApplicationComponent
getTheme() Возвращает полученную тему. Нуль, если тема не существует. CThemeManager
getThemeNames() Возвращает список доступных названий тем CThemeManager
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли присоединенные обработчики к событию с указанным именем. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
init() Инициализирует компонент приложения. CApplicationComponent
raiseEvent() Вызывает событие. CComponent
setBasePath() Устанавливает базовый путь для всех тем. CThemeManager
setBaseUrl() Устанавливает базовый URL для всех тем. CThemeManager

Подробное описание свойств

basePath свойство

public string getBasePath()
public void setBasePath(string $value)

базовый путь для всех тем. По умолчанию "WebRootPath/themes".

baseUrl свойство

public string getBaseUrl()
public void setBaseUrl(string $value)

базовый URL для всех тем. По умолчанию "/WebRoot/themes".

themeClass свойство

public string $themeClass;

имя класса темы для представления темы. По умолчанию CTheme. Также может быть именем класса в формате точка с запятой.

themeNames свойство только для чтения

public array getThemeNames()

список доступных названий тем

Подробное описание методов

getBasePath() метод

public string getBasePath()
{return} string базовый путь для всех тем. По умолчанию "WebRootPath/themes".
Исходный код: framework/web/CThemeManager.php#95 (показать)
public function getBasePath()
{
    if(
$this->_basePath===null)
        
$this->setBasePath(dirname(Yii::app()->getRequest()->getScriptFile()).DIRECTORY_SEPARATOR.self::DEFAULT_BASEPATH);
    return 
$this->_basePath;
}

getBaseUrl() метод

public string getBaseUrl()
{return} строка базовый URL для всех тем. По умолчанию "/WebRoot/themes".
Исходный код: framework/web/CThemeManager.php#116 (показать)
public function getBaseUrl()
{
    if(
$this->_baseUrl===null)
        
$this->_baseUrl=Yii::app()->getBaseUrl().'/'.self::DEFAULT_BASEPATH;
    return 
$this->_baseUrl;
}

getTheme() метод

public CTheme getTheme(string $name)
$name строка имя темы, которую нужно получить
{return} CTheme полученная тема. Null, если тема не существует.
Исходный код: framework/web/CThemeManager.php#58 (показать)
public function getTheme($name)
{
    
$themePath=$this->getBasePath().DIRECTORY_SEPARATOR.$name;
    if(
is_dir($themePath))
    {
        
$class=Yii::import($this->themeClass, true);
        return new 
$class($name,$themePath,$this->getBaseUrl().'/'.$name);
    }
    else
        return 
null;
}

getThemeNames() метод

public array getThemeNames()
{return} массив список доступных имён тем
Исходный код: framework/web/CThemeManager.php#73 (показать)
public function getThemeNames()
{
    static 
$themes;
    if(
$themes===null)
    {
        
$themes=array();
        
$basePath=$this->getBasePath();
        
$folder=@opendir($basePath);
        while((
$file=@readdir($folder))!==false)
        {
            if(
$file!=='.' && $file!=='..' && $file!=='.svn' && $file!=='.gitignore' && is_dir($basePath.DIRECTORY_SEPARATOR.$file))
                
$themes[]=$file;
        }
        
closedir($folder);
        
sort($themes);
    }
    return 
$themes;
}

setBasePath() метод

public void setBasePath(string $value)
$value строка базовый путь для всех тем.
Исходный код: framework/web/CThemeManager.php#106 (показать)
public function setBasePath($value)
{
    
$this->_basePath=realpath($value);
    if(
$this->_basePath===false || !is_dir($this->_basePath))
        throw new 
CException(Yii::t('yii','Theme directory "{directory}" does not exist.',array('{directory}'=>$value)));
}

setBaseUrl() метод

public void setBaseUrl(string $value)
$value строка базовый URL для всех тем.
Исходный код: framework/web/CThemeManager.php#126 (показать)
public function setBaseUrl($value)
{
    
$this->_baseUrl=rtrim($value,'/');
}

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CThemeManager

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API