Я создал новый виджет для отображения информации в режиме администратора. Окончательное представление должно быть таким же, как CGridView, но с другой логикой для столбцов. Все работает нормально, за исключением случаев, когда я пытаюсь вызвать столбец CButtonColumn.
foreach ($this->columns as $column) {
if (is_array($column) && isset($column['class']) {
$this->renderColumnWidget($column);
}
}
/* ... */
protected function renderColumnWidget($column)
{
$widgetClass = $column->class;
unset($column->class);
if (strpos($widgetClass, '.') === false) {
$widgetClass = 'zii.widgets.grid.'.$widgetClass;
}
$this->widget($widgetClass, $column); // Error from here
}
Итак, в основном здесь я проверяю, есть ли атрибут класса в столбце, и вызываю этот виджет. Но получаю ошибку: CButtonColumn and its behaviors do not have a method or closure named "run".
Что я делаю неправильно? CButtonColumn не имеет метода run
, и я не хочу расширять этот класс.