رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در کار با چک باکس های گروهی
#1
درود
من یک مشکلی در کار با چک باکس های گروهی دارم که زمان ویرایش نمی تونم چکدشون کنم..
این کد تولید چک باکس :
 <div class="col-md-8">
<?php

$roles=$model->getAllRoles();

foreach($roles as $k=>$v) :

?>
<div class="panel panel-default">
 <div class="panel-heading">
<h3 class="panel-title"><?= $k  ?></h3>
 </div>
 <div class="panel-body">
<?php

print_r($v);
exit;

foreach($v as $item)
echo Html::checkBoxList("items[{$item['name']}]",$item['checked'],['label'=>$item['label']]);
// echo Html::checkBoxList("items[{$item['name']}]",$model->getSelectedPermissions(),['label'=>$item['label']]);
// echo Html::checkBoxList("name",['name',],['label'=>'salam']);
?>
 </div>
</div>

<?php endforeach; ?>
<?php ActiveForm::end(); ?>
</div>
این هم کد تولید چک باکس در مدل:
 public function allRoles()
{
return [
'post'=>[
['name'=>'view_post','checked'=>0,'label'=>'View Post'],
['name'=>'add_post','checked'=>0,'label'=>'Add Post'],
['name'=>'delete_post','checked'=>0,'label'=>'Delete Post'],
['name'=>'update_post','checked'=>0,'label'=>'Update Post'],
], 
'category'=>[
['name'=>'view_category','checked'=>0,'label'=>'View Category'],
['name'=>'add_category','checked'=>0,'label'=>'Add Category'],
['name'=>'delete_category','checked'=>0,'label'=>'Delete Category'],
['name'=>'update_category','checked'=>0,'label'=>'Update Category'],
], 
'comment'=>[
['name'=>'view_comment','checked'=>0,'label'=>'View Comment'],
['name'=>'add_comment','checked'=>0,'label'=>'Add Comment'],
['name'=>'delete_comment','checked'=>0,'label'=>'Delete Comment'],
['name'=>'update_comment','checked'=>0,'label'=>'Update Comment'],
], 
'user'=>[
['name'=>'view_user','checked'=>0,'label'=>'View User'],
['name'=>'add_user','checked'=>0,'label'=>'Add User'],
['name'=>'delete_user','checked'=>0,'label'=>'Delete User'],
['name'=>'update_user','checked'=>0,'label'=>'Update User'],
],
];
}

public function getAllRoles()
{
$roles=$this->allRoles();

$sql="select * from `auth_item_child` where `parent`='{$this->name}'";
$items=yii::$app->db->createCommand($sql)->queryAll();


foreach($roles as $k1=>$v1)
{
foreach($v1 as $k2=>$v2)
{
foreach($items as $ik=>$iv)
{
if($iv['parent']==$this->name && $v2['name']==$iv['child'])
{
$roles[$k1][$k2]['checked']=1;
}
}
}
}


return $roles;
} 
پارامتر دوم ایجاد چک باکس ها رو باید به چه صورتی وارد کنیم تا چک باکس های ساخته شده در زمان ساخت چکد شوند...؟
باتشکر
پاسخ
تشکر شده توسط:
#2
این دو لینک رو مطالعه کنید (قسمت Options) :
http://www.yiiframework.com/doc-2.0/yii-...t()-detail
http://www.yiiframework.com/doc-2.0/yii-...t()-detail
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان