Сделано это для того, чтобы различные модули могли безбоязненно размещать свои ресурсы, не боясь что заменял ресурсы других модулей -- для каждого модуля создается отдельная подпапочка с ресурсами.
Публикация выполняется методом AssetManager::publish($path), где $path - путь к папке с ресурсами которые нужно опубликовать.
Часто для публикации ресурсов и последующего доступа к ним, в базовый класс контроллера добавляют свойство getAssetsUrl():
class Controller extends CController
{
private $_assetsUrl;
public function getAssetsUrl() {
if ($this->_assetsUrl === null) {
$this->_assetsUrl = Yii::app()->assetManager->
publish(Yii::getPathOfAlias('application.assets'));
}
return $this->_assetsUrl;
}
}
UPDATE Не знаю для чего создавать временную переменную, т.к. внутри метода publish тоже есть проверка о публикации.И во вьющке используют это свойство так:
<link rel="stylesheet" type="text/css" href="<?=$this->assetsUrl?>/css/main.css" />
Вот статья по теме на хабре.
Комментариев нет:
Отправить комментарий