2016-10-20 5 views
0

私のcheckboxListのテンプレートを使用したいと思っています。私は=「スイッチ」Yii2チェックボックスフィールドのActiveFormカスタムテンプレート

クラスは、データ上のテキスト=データ・オフ・テキストは=「OFF」データ・オン・カラー=「ティール」「ON」

をチェックし適用するプロパティです
<?php $form = ActiveForm::begin(); ?> 
          <ul class="list-unstyled"> 
           <li> 
            <?= $form->field($modelUserPermission, 'id_permission')->checkboxList(ArrayHelper::map(Permission::find()->all(),'id', 'code')) ?> 
           </li><br> 
          </ul> 
         <div class="form-group"> 
          <?= Html::submitButton($modelUserPermission->isNewRecord ? 'Create' : 'Update', ['class' => $modelUserPermission->isNewRecord ? 'btn btn-success' : 'btn btn-primary', 'value'=>'Create', 'name'=>'submit']) ?> 
         </div> 
        <?php ActiveForm::end(); ?> 
+0

これらのプロパティを各チェックボックスに適用しますか? –

+0

@InsaneSkullはい – 1616

答えて

0

すべてのチェックボックス(Insane Skullのように)でこれらのプロパティを使用する場合は、itemOptionsオプションを使用します。それはすべてのチェックボックスを取得するために、ウィジェットActiveFieldますので

<?= $form->field($modelUserPermission, 'id_permission')->checkboxList(
    ArrayHelper::map(Permission::find()->all(),'id', 'code'), 
    [ 
     'itemOptions' => [ 
      'class' => 'switch', 
      'data' => [ 
       'on-text' => 'ON', 
       'off-text' => 'OFF', 
       'on-color' => 'teal' 
      ], 
     ], 
    ] 
) ?> 

はあなたがすべてのIDで$modelUserPermission->id_permissionに配列を渡す必要があり確認しました。

+0

私はすでにそれをしましたが、うまくいきません。私はいつもデフォルトのスタイルを持っています – 1616

+0

これはスタイルとスタイルを自分自身に適用した方法と場所によって異なります。 – Bizley

1

回答ありBizleyが正しいですが、ここでもう一度やり直してみてください。

<?php 
    $items_array = ArrayHelper::map(Permission::find()->all(),'id', 'code'); 

    echo $form->field($model, 'id_permission')->checkboxList($items_array, [ 
     'items' => 
     function ($index, $label, $name, $checked, $value) { 
      return Html::checkbox($name, $checked, [ 
         'value' => $value, 
         'label' => '<label for="' . $label . '">' . $label . '</label>', 
         'labelOptions' => [ 
         // you can set label options here            ], 
         ], 
      ]); 
     }, 'itemOptions' => ['class' => 'switch', 
        'data-on-text' => 'ON', 'data-off-text' => 'OFF', 'data-on-color' => 'teal'], 
       'separator' => false,]); 
?> 
関連する問題