2015-01-02 40 views
0

我需要一个CSS类应用到一个CGridView的专栏,我得到一个PHP通知错误警予 - 利用类的CGridView的列显示的PHP警告

这是代码

$this->widget('zii.widgets.grid.CGridView', array(
      'htmlOptions'=>array('class'=>'table table-striped table-bordered table-condensed'), 
      'dataProvider'=>new CArrayDataProvider(getArray()), 
      'template'=>"{items}", 
      'columns'=>array(
       array('name'=>'title', 'header'=>'Title', 'cssClassExpression'=>'span3'), 
       array('name'=>'url', 'header'=>'url'), 
      ), 
     )); 

而且这是我得到的通知:

PHP notice 
Use of undefined constant span3 - assumed 'span3' 

如果我禁用PHP通知我正确地看到应用于我的列的css类。

有谁知道为什么会发生这种情况?

谢谢

+1

你有一个地方没有引用'span3'字符串 –

+0

不幸的是,我已经检查了整个文件,我只有这种情况。我想我已经找到了解决方案,无论如何,谢谢! – MeV

回答

2

我使用不同的语法为CGridView列固定的问题:

array('name'=>'title', 'header'=>'Title', 'htmlOptions'=>array('class'=>'span3')), 
0

对于completness ...

这个错误来自实际上,cssClassExpression值必须是php callable或者如果它的字符串是eval'根据来源evaluateExpression

if(is_string($_expression_)) 
    { 
     extract($_data_); 
     return eval('return '.$_expression_.';'); 
    } 
    else 
    { 
     $_data_[]=$this; 
     return call_user_func_array($_expression_, $_data_); 
    } 

这可能会被用来有条件地设置css类。对于简单的CSS类设置,请使用htmlOptions,正如Marco发现的那样,并在答案中发布。