而不是在我的视图中调用/注册CSS。我想在我的AbcModule.php
中注册它,因为CSS将通过模块使用。
class Abc extends CWebModule
{
protected $_assetsUrl;
public function init()
{
$path = Yii::app()->module->getAssetsUrl();
Yii::app()->clientScript->registerCssFile($path.'/css/abc.css', 'all');
$this->setImport(array(
'abc.models.*',
'abc.components.*',
));
}
public function getAssetsUrl()
{
if ($this->_assetsUrl === null)
$this->_assetsUrl = Yii::app()->getAssetManager()->publish(__DIR__ . '/assets', false, -1, true);
return $this->_assetsUrl;
}
}
在上面的代码中我得到此错误
Missing argument 1 for CModule::getModule(), called in /Library/WebServer/Documents/dev/common/lib/yii/framework/base/CComponent.php on line 111 and defined
是这一行
$path = Yii::app()->module->getAssetsUrl();
我也试过
$path = Yii::app()->getModule("Abc")->getAssetsUrl();
但是出现了这个错误
Fatal error: Call to a member function getAssetsUrl() on a non-object in /Library/WebServer/Documents/dev/frontend/modules/research/AbcModule.php on line 17
在我看来,我称之为这样。它完美无缺
Yii::app()->clientScript->registerCssFile($this->module->getAssetsUrl().'/css/abc.css', 'all');
知道我做错了什么?
答案 0 :(得分:0)
试
$path = $this->getAssetsUrl();