我是 Yii 新手。
在 Controller 的 Action 中调用 registerCssFile 是否正确?
我的意见是在内部 View 中进行此操作是正确的地方
例如,我创建了一些用户菜单 block 并将其包含在我的一些 View 中。我为用户菜单获得了单独的 css 文件,我不想在每个 View 使用此用户菜单的操作或 Controller 中包含此 user_menu.css
。所以我在 parts/user_menu.php
View 中使用这段代码:
<?php
Yii::app()->getClientScript()->registerCssFile(yii::app()->request->baseUrl.'/css/user_menu.css', 'screen');
?>
<ul class="user-menu">
...here comes menu
是正确的还是我必须在每个操作或 Controller 中包含此 css 文件?
也许有一些关于这个的风格指南?任何链接表示赞赏...
最佳答案
我不能代表一个“官方”正确的地方,但我有一个自定义的基本 Controller ,我的所有 Controller 都扩展了它。我将我的全局 registerCssFile()
调用放在这个基本 Controller 的 init()
方法中,因此它们会自动在整个站点上注册。
如果您经常重复使用局部 View 文件,我可以看到在 View 中注册 CSS 我猜 但是...
将整个站点的所有 CSS 包含在 init()
Controller 方法中可能是最有意义的,然后使用 extensions like these 组合和压缩它。
(除非一个 View 有很多未在网站其他任何地方使用的自定义 CSS。)
编辑:正如 briiC.lv 在下面提到的,使用 themes
意味着您需要将所有 CSS 保留在您的 View /布局文件中,与 Controller 代码分开。
关于php - Yii 中 registerCssFile 的正确位置是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8504230/