zcyxm
兔兔哇~~其实lilongsy说的是对的,checkBoxList是默认选中的吧....如果$model 里面有对应的属性的值,拿我下面的这句话举例,就是$model对应的sort_id有值,并且这些值在
Sorts::model()->list
中,checkBoxList会自动选中这些值.....你误解lilongsy的意思是因为,你以为他说的
Sorts::model()->list
的值就是$model->sort_id
的值....<?php echo $form->checkBoxList($model,'sort_id',Sorts::model()->list); ?>
- zcyxm 回复了话题 做个调查,关于权限的
刚学一个月,目前还没有用过....
我倾向第一个选择,据说rbac很复杂... 我纠结了好久,这个是我在网上找到的一句话:
checkBoxList
这是一个checkBox集合组件,使用代码:
<?php echo $form->checkBoxList($model,'checkBoxList', array('1'=>'Football','2'=>'Music','3'=>'Game','4'=>'basketball'), array('separator'=>' ','labelOptions'=>array('class'=>'checkboxlabel')) )?>
这个组件同上,唯一不同的是这个组件是多选的,所以他对应的模型类的属性应该是一个数组。这个组件将你选中的每个checkBox的值构造成一个数组提交服务器端。例如我们选中了Football和Game,那个该组件构造的数组将是array(‘1’,’3’),没有选中的checkBox不会被构造进这个数组中。反之从服务器段读取数组,然后显示该组件也是同样的道理。
看最后一句话,意思貌似是,checkBoxList本身就有默认的选中....
然后我测试了一下:
<?php $model->sort_id = array('1','2') ;?> <?php echo $form->checkBoxList($model,'sort_id',Sorts::model()->list); ?>
显示的结果是,第一个和第二个选中了。
不知道这样是不是个解决办法...
- zcyxm 回复了话题 求助~~关于widget
3L的代码中的
public $visible = true;
和下面的if($this->visible){}
是我自己加的....加了后显示正常...但是我不知所以然....不知道为什么要加,不知道为什么加了就可以...仁兄知道原因么?给我讲讲。。thx - zcyxm 回复了话题 后台模块有需要的拿去
Mark ,目前用不着,先收藏了。
- zcyxm 回复了话题 求助~~关于widget
对了,我就是看的你昨天给我的那个demo.....感激...
不过我比较菜,目前那个demo在我电脑上依然跑不起来。。。
- zcyxm 回复了话题 求助~~关于widget
应该是和路径没关系的。因为我去掉
array('visible'=>Yii::app()->user->isGuest)
后正常。很奇怪的是我改了下UserLogin里面的代码,加了个
public $visible = true;
就可以了。但是不知所以然。<?php Yii::import('zii.widgets.CPortlet'); class UserLogin extends CPortlet { public $title='Login'; public $visible = true; protected function renderContent() { if ($this->visible){ $form = new LoginForm() ; if (isset($_POST['ajax']) && $_POST['ajax']==='login-form'){ echo CActiveForm::validate($form); Yii::app()->end(); } if (isset($_POST['LoginForm'])){ $form->attributes = $_POST['LoginForm']; if($form->validate() && $form->login()){ $this->controller->refresh(); } } $this->render('userLogin',array('form'=>$form)); } } }
- zcyxm 发布了话题求助~~关于widget
LS找的这个demo好,收下了。
下不了。。。LS有源码么。。。给我一份呗
还没解决么?
今天我无意中发现了,是我们使用不当,limit可以用的public function actionHot() { $criteria=new CDbCriteria(array( 'order'=>'good DESC', 'with'=>array('username'), 'limit'=>1, //'offset'=>1, )); $dataProvider=new CActiveDataProvider('stories', array( //'pagination'=>array( // 'pageSize'=>2, // 'pageVar'=>'p', //), 'pagination'=>false, 'criteria'=>$criteria, )); $this->render('index',array( 'dataProvider'=>$dataProvider, )); }
要想limit有效,需要 'pagination'=>false,