2017-11-13 4 views
0

私はすでにすべてのフォーラムとサンプルを検索して試しています。Kartik Yii2 Kartikでカスタムボタンを追加DetailView

私はYii2でKartik \ DetailViwewを使用していますが、ボタン1オプションにカスタムボタンを1つ配置することはできません。

私が働いているコード:例http://demos.krajee.com/detail-viewによると

 'buttons1' => '{update}', 

echo DetailView::widget([ 
     'model' => $model, 
     'attributes' => $attributes, 
     'mode'=>Yii::$app->request->get('edit')=='t' ? DetailView::MODE_EDIT : DetailView::MODE_VIEW, 
      'panel'=>[ 
      'heading'=>$this->title, 
      'type'=>DetailView::TYPE_INFO, 
      ], 
     'buttons1' => '{update}', 
     'bordered' => 'true', 
     'striped' => $striped, 
     'condensed' => $condensed, 
     'responsive' => $responsive, 
     'hover' => $hover, 
     'hAlign'=>$hAlign, 
     'vAlign'=>$vAlign, 
     'fadeDelay'=>$fadeDelay, 
     'deleteOptions'=>[ // your ajax delete parameters 
      'params' => ['id' => $model->p_id, 'custom_param' => true], 
      'url'=>['delete', 'id' => $model->p_id], 
     ] 

    ]); 

は、カスタマイズする方法があります。 しかし例はありません。ドキュメントではこれを行う方法について説明していません。

誰でも手助けできますか?

答えて

0

調査といくつかの試行の後、私はこの方法で行いました。ボタンを表示するために編集モードを有効にし、デフォルトテンプレート({buttons} {title})を変更する必要があります。テンプレートはvender grideviewの定数に存在し、ちょうどあなたが望む任意のボタンを追加するコードを挿入します。解決策ではありませんが、うまくいく回避策です。

<?php 
$button1 = Html::a('<i class="glyphicon glyphicon-trash"></i>', Url::to(['delete', 'id' => $model->id]), [ 
        'title' => 'Eliminar', 
        'class' => 'pull-right detail-button', 
        'data' => [ 
         'confirm' => '¿Realmente deseas eliminar este elemento?',    
         'method' => 'post', 
        ] 
      ]); 
$button2 = Html::a('<i class="glyphicon glyphicon-pencil"></i>', Url::to(['actualizar', 'id' => $model->id]), [ 
        'title' => 'Actualizar', 
        'class' => 'pull-right detail-button', 
      ]); 
?> 
<?= 
DetailView::widget([ 
        'model' => $model, 
        'hover' => true, 
        'hideAlerts' => true, 
        'enableEditMode' => true, 
        'mode' => DetailView::MODE_VIEW, 
        'hAlign' => 'left', 
        'panel' => [ 
         'heading' => '&nbsp', 
         'type' => DetailView::TYPE_DEFAULT, 
         'headingOptions' => [ 
          'template' => "$button1 $button2 {title}" 
         ] 
        ], 
        'attributes' => [ 
         'id', 
         'identificacion', 
         'nombre',  
        ], 
     ]) 
?> 
関連する問題