yii — использование класса для столбца CGridView показывает предупреждение php

Мне нужно применить класс CSS к одному столбцу 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, примененный к моему столбцу.

Кто-нибудь знает, почему это происходит?

Спасибо

0

Решение

Я исправил проблему, используя другой синтаксис для столбца CGridView:

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

Другие решения

Для полноты …

Эта ошибка происходит из-за того, что 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, как нашел Марко, и выложил в ответ.

0

По вопросам рекламы [email protected]