2016-07-02 7 views
0

私はyii2グリッドActionColumnに含める必要があるdinamicallyボタンを生成するために作成したコードのセクションに問題があります。この機能により、私はちょうどパラメータの配列を指定するボタンを定義することができます。カスタムYii2グリッドアクションボタン

  • コントローラ(宛先)
  • アイコン

機能はかなり良い作品が、私は置き換えることはできません関数に値を送ることができないので、静的な文字列 "my name"を私のvariabile $ config ['icon']と置き換えてください。

この問題を解決できますか?

答えて

1

は、私はあなたがあなたのケースで

function ($url, $model, $key) use ($config['icon']) 
{ 
    ..... 
} 

ので、閉鎖を使用して値を渡すことができると思い

foreach(...) { 
    $actionColumns['controller'] = $config['controller']; 
    $actionColumns['buttons'] = array($config['name'] => function ($url, $model, $key) { 
                 return Html::a('my name', $url); 
                }); 
    $actionColumns['template'] = '{'.$config['name'].'}'; 
} 

のTy(私はKartikグリッドestensionを使用しています)

foreach(...) { 
    $actionColumns['controller'] = $config['controller']; 
    $actionColumns['buttons'] = array($config['name'] => 
      function ($url, $model, $key) use ($config['icon']) { 
        return Html::a($config['icon'], $url); 
      }); 
    $actionColumns['template'] = '{'.$config['name'].'}'; 
} 
関連する問題