درود
من یک مشکلی در کار با چک باکس های گروهی دارم که زمان ویرایش نمی تونم چکدشون کنم..
این کد تولید چک باکس :
<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()
{
retu [
'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;
}
}
}
}
retu $roles;
}
پارامتر دوم ایجاد چک باکس ها رو باید به چه صورتی وارد کنیم تا چک باکس های ساخته شده در زمان ساخت چکد شوند...؟
باتشکر
- - , .
.
برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید
برچسب : نویسنده : خنجی prog بازدید : 207 تاريخ : يکشنبه 27 تير 1395 ساعت: 0:46