2014-10-20 3 views
1

Контроллер:YII CGridView ошибки

public function actionItem($textdata){ 
     $dataProvider = new CActiveDataProvider('Mytest', array(
      'criteria' => array(
       'condition' => 'type="'.$textdata.'"', 
      ), 
     )); 
$bleble = $textdata; 
     $this->render('Item', array(
      'dataProvider' => $dataProvider, 
      'bleble' => $bleble, 
     )); 
    } 

вид:

$bleble = $bleble; 

$this->widget('zii.widgets.grid.CGridView', array(
    'id' => 'sample_id', 
    'dataProvider' => $dataProvider, 
    'columns' => array(
     array(
       'header' => 'id', 
        'name' => 'id', 
        'value' =>'$data->id', 
        'type' =>'raw', 
        "value" => function($data){ 
         echo "text".$data->id; 

        }, 
      ), 

НЕОБХОДИМОСТЬ !! :

$bleble = $bleble; 

    $this->widget('zii.widgets.grid.CGridView', array(
     'id' => 'sample_id', 
     'dataProvider' => $dataProvider, 
     'columns' => array(
      array(
        'header' => 'id', 
         'name' => 'id', 
         'value' =>'$data->id', 
         'type' =>'raw', 
         "value" => function($data){ 
          echo $bleble.$data->id; 

         }, 
       ), 

ошибка:

PHP уведомление Неопределенная переменная: bleble

необходимо загрузить текст ссылки, который, как я контроллер ($ текста) $ текст один я должен выпишите таблицу, но не работает, когда она является переменной, обычный текст работает, например, echo «text». $ data-> id;

+0

все еще не работает, "значение" => функции ($ данные) { эха $ bleble $ данных-> идентификатор; }, мне нужно как-то обмен, что это то, что есть контроллер для примера текст, отображаемый путь: text_1, Текст_2, text_3 где число указывает идентификатор – ubgsdnhfj

ответ

2

Вы можете сделать это следующим образом:.

"value" => function($data) use ($bleble){ 
    return $bleble.$data->id; 
} 

Надеется, что это работает для вас

+0

, но, как я, которые используют? "value" => function ($ data) use $ bleble { return $ bleble. $ Data-> id; }, – ubgsdnhfj

+0

да, вам нужно использовать его вот так. – Dinistro

+0

Ошибка синтаксиса: неожиданный «$ bleble» (T_VARIABLE), ожидающий '(' в – ubgsdnhfj