Сделано это для того, чтобы различные модули могли безбоязненно размещать свои ресурсы, не боясь что заменял ресурсы других модулей -- для каждого модуля создается отдельная подпапочка с ресурсами.
Публикация выполняется методом 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" />
Вот статья по теме на хабре.
Комментариев нет:
Отправить комментарий