崩盘砖家 2011-04-09 17:15:00 4043次浏览 17条回复 0 0 0

网站中很多页面用同一个layout,但是不同的页面引用的css文件不同, 如何处理这个问题?

  • 回复于 2011-04-09 17:16 举报

    你可以在view里单独引入!

  • 回复于 2011-04-09 17:19 举报

    比如我要渲染views/site/index.php,在layout里没有加入guide.css这个文件,我们可以在views/site/index.php里面单独引入,代码如下:

    <?php Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl.'/css/guide.css'); ?>
    
  • 回复于 2011-04-09 19:17 举报

    主要是考虑的clientScript的效率消耗比较大

  • 回复于 2011-04-09 19:33 举报

    我们也是用的舰长哪种方法?然道还有好的方法,同求

  • 回复于 2011-04-10 10:03 举报

    我是在main.php里用那个yii::app()->controller->id //action->id来判断选择调用不同的CSS

  • 回复于 2011-04-11 21:06 举报

    现在是直接在Controller中引入了一个$otherCssFile表示每个页面不同的css文件

  • 回复于 2011-04-11 21:22 举报

    为什么搞这么复杂呢?

  • 回复于 2011-04-12 12:25 举报

    主要还是考虑到性能

  • 回复于 2011-04-12 12:32 举报

    什么性能全是扯淡,COutputCache 就完事儿了。在Yii里手写代码,就如同Hack内置类,一步步的给自己挖陷阱。

  • 回复于 2011-04-13 22:59 举报

    1.楼上的说的不错,这段时间对yii的一部分Component功能进行了扩展,有几个写到最后又全盘否决掉,确实不如框架自带的Component考虑周全。
    2.现在的应用大多数页面是不能做缓存的,这确实让我非常纠结

  • 回复于 2011-04-14 09:53 举报

    Yii的缓存机制还是很特殊的,我觉得 有些地方可以 拆分开用缓存的。

  • 回复于 2011-04-14 09:57 举报

    css 那个我比较倾向在controller里面 定义一个$flag 然后在view里面通过$this->flag 调用。。。然后做操作。感觉还是很清晰的。。。,当然没有舰长说的那个那么遵循框架

  • 回复于 2011-04-14 11:48 举报

    不是说给页面做缓存,是给头部,从HTML到BODY之间……

  • 回复于 2011-04-14 21:34 举报

    算了,不纠结于这个东西了,直接用自带的clientscript,不折腾

  • 回复于 2011-04-22 17:01 举报

    = =!不折腾就对了~

  • 回复于 2011-04-22 18:25 举报

    Yii的核心不就是简单的实现嘛。不要折腾就对了 哈哈

  • 回复于 2011-04-23 10:22 举报

    这样设置的话,那么到view层的时候不是还要注册一次吗

您需要登录后才可以回复。登录 | 立即注册