Класс yii\base\Theme
| Наследование | yii\base\Theme » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступен с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/base/Theme.php |
Тема представляет собой тему приложения.
Когда yii\base\View отображает файл представления, он проверяет активную тему активную тему, чтобы увидеть, существует ли тематическая версия файла представления. Если да, то вместо этого будет отображена тематическая версия.
Тема — это каталог, содержащий файлы представлений, которые предназначены для замены их нетематических аналогов.
Тема использует $pathMap, чтобы достичь замены файла представления:
- Сначала ищется ключ в $pathMap, который является подстрокой пути данного файла представления;
- Если такой ключ существует, соответствующее значение будет использоваться для замены соответствующей части пути файла представления;
- Затем проверяется, существует ли обновленный файл представления или нет. Если да, этот файл будет использоваться для замены исходного файла представления.
- Если шаги 2 или 3 не удались, будет использоваться исходный файл представления.
Например, если $pathMap равен ['@app/views' => '@app/themes/basic'], то тематическая версия для файла представления @app/views/site/index.php будет @app/themes/basic/site/index.php.
Возможна ситуация, когда одному пути сопоставляется несколько путей. Например,
'pathMap' => [
'@app/views' => [
'@app/themes/christmas',
'@app/themes/basic',
],
]
В этом случае тематическая версия может быть либо @app/themes/christmas/site/index.php , либо @app/themes/basic/site/index.php. Первая имеет приоритет над второй, если оба файла существуют.
Чтобы использовать тему, необходимо настроить свойство theme компонента "view" приложения следующим образом:
'view' => [
'theme' => [
'basePath' => '@app/themes/basic',
'baseUrl' => '@web/themes/basic',
],
],
Вышеуказанная конфигурация определяет тему, расположенную в каталоге «themes/basic» папки Web, содержащей скрипт запуска приложения. Если ваша тема разработана для обработки модулей, вы можете настроить свойство $pathMap, как описано выше.
Для получения более подробной информации и сведений об использовании темы см. статью руководства по темам.
Общедоступные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $basePath | string | Корневой путь к данной теме. | yii\base\Theme |
| $baseUrl | string | Базовый URL (без конечной косой черты) для данной темы. | yii\base\Theme |
| $behaviors | yii\base\Behavior[] | Список поведений, прикрепленных к данному компоненту | yii\base\Component |
| $pathMap | array | Сопоставление каталогов представлений и их соответствующих тематических версий. | yii\base\Theme |
Общедоступные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| applyTo() | Преобразует файл в тематический файл, если это возможно. | yii\base\Theme |
| attachBehavior() | Прикрепляет поведение к данному компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, которые должен иметь данный компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли считать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| detachBehavior() | Открепляет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Открепляет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| getBasePath() | yii\base\Theme | |
| getBaseUrl() | yii\base\Theme | |
| getBehavior() | Возвращает объект поведения с указанным именем. | yii\base\Component |
| getBehaviors() | Возвращает все прикрепленные к этому компоненту поведения. | yii\base\Component |
| getPath() | Преобразует относительный путь к файлу в абсолютный, используя $basePath. | yii\base\Theme |
| getUrl() | Преобразует относительный URL в абсолютный URL, используя $baseUrl. | yii\base\Theme |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, прикрепленный к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| off() | Открепляет существующий обработчик событий от данного компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| setBasePath() | yii\base\Theme | |
| setBaseUrl() | yii\base\Theme | |
| trigger() | Вызывает событие. | yii\base\Component |
Подробное описание свойств
$basePath общедоступное свойство
Корневой путь к данной теме. Все ресурсы этой темы находятся в этом каталоге.
public string getBasePath ( )
public void setBasePath ( $path )
$baseUrl общедоступное свойство
Базовый URL (без конечной косой черты) для данной темы. Все ресурсы этой темы считаются находящимися под этим базовым URL.
public string getBaseUrl ( )
public void setBaseUrl ( $url )
$pathMap общее свойство
Сопоставление каталогов представлений с их соответствующими тематическими версиями. Это свойство используется методом applyTo() при попытке применения темы к представлению. При указании каталогов можно использовать псевдонимы путей. Если это свойство пустое или не задано, будет использовано сопоставление yii\base\Application::$basePath с $basePath.
public array $pathMap = null
Подробное описание методов
applyTo() общественный метод
Преобразует файл в тематический, если возможно.
Если соответствующий тематический файл отсутствует, возвращается исходный файл.
| public string applyTo ( $path ) | ||
|---|---|---|
| $path | string |
Файл, который нужно преобразовать в тематический |
| return | string |
Тематический файл или исходный файл, если тематическая версия недоступна. |
| throws | yii\base\InvalidConfigException |
если $basePath не задан |
getBasePath() общественный метод
См. также $pathMap.
| public string getBasePath ( ) | ||
|---|---|---|
| return | string |
Базовый путь данной темы. Все ресурсы этой темы находятся в этом каталоге. |
getBaseUrl() общественный метод
| public string getBaseUrl ( ) | ||
|---|---|---|
| return | string |
Базовый URL (без конечного слэша) для этой темы. Все ресурсы этой темы считаются находящимися по этому базовому URL. |
getPath() общественный метод
Преобразует относительный путь к файлу в абсолютный, используя $basePath.
| public string getPath ( $path ) | ||
|---|---|---|
| $path | string |
Относительный путь к файлу, который нужно преобразовать. |
| return | string |
Абсолютный путь к файлу |
| throws | yii\base\InvalidConfigException |
если $basePath не задан |
getUrl() общественный метод
Преобразует относительный URL в абсолютный, используя $baseUrl.
| public string getUrl ( $url ) | ||
|---|---|---|
| $url | string |
Относительный URL, который нужно преобразовать. |
| return | string |
Абсолютный URL |
| throws | yii\base\InvalidConfigException |
если $baseUrl не задан |
setBasePath() общественный метод
См. также $pathMap.
| public void setBasePath ( $path ) | ||
|---|---|---|
| $path | string |
Базовый путь или псевдоним пути для этой темы. Все ресурсы этой темы находятся в этом каталоге. |
setBaseUrl() общественный метод
| public void setBaseUrl ( $url ) | ||
|---|---|---|
| $url | string |
Базовый URL или псевдоним пути для этой темы. Все ресурсы этой темы считаются находящимися по этому базовому URL. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-base-theme.html