yii一些技巧

来源:互联网 发布:淘宝网天堂雨伞 编辑:程序博客网 时间:2024/05/16 14:30
如果在控制器里面引入js脚本,修改meta信息,可以在控制器中这样写

Yii::app()->clientScript->registerScriptFile('file_path.js');Yii::app()->clientScript->registerMetaTag('key1,key2,key3','keywords',null);

有时候需要在某个控制器下增加相应layout不存在CSS或JavaScript文件,我们可以在控制器里注册新的CSS或JavaScript,具体控制器的代码如下:

public function init(){        parent::init();        Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl.'/css/my.css');    Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl.'/css/my.js');}
也可以在视图调用

CHtml::scriptFile();CHtml::cssFile();


我确定CUploadedFile完全可以实现多文件上传,
方法:view视图代码:

            for($i=0;$i<3;$i++){                //echo $form->fileField($model,'xiangguan_tupian[]').'<br/>';//这种方法不行                //echo CHtml::activeFileField($model,'xiangguan_tupian[]');//这种也不行                //echo CHtml::fileField('xiangguan_tupian[]','',array('id'=>'xiangguan_tupian'.$i)).' ';//这种也不行                echo CHtml::activeFileField($model,'xiangguan_tupian[]',array('id'=>'xiangguan_tupian'.$i));            }            ?>


controller控制器端:
                       $model=new Info;
                       // echo '<hr><br>';
                      $obj_array=CUploadedFIle::getInstances($model,'xiangguan_tupian');//注意这里不是getInstance而是getInstances多了个s,这样得到的是一个包含CUploadedFile对象的数组
                        //print_r($obj_array);
                        foreach($obj_array as $k=>$v){
                            $v->saveAs(Yii::app()->basePath.'/'.$k.'_test.'.$v->getExtensionName());
                        }
多文件上传处理完毕。

要点:CUploadedFile::getInstance返回的是一个CUploadedFile对象,//CUploadeFile::getInstanceByName();同理
而CUploadedFile::getInstances返回的是一个值为CUploadedFile对象的数组//CUploadedFile::getInstancesByName();同理


具体还有不明白的请留言,大侠绕道……

http://www.yiiframework.com/wiki/301/multiple-file-upload-handler


3

<?php $this->widget('zii.widgets.CBreadcrumbs', array(        'homeLink'=>CHtml::link('首页',Yii::app()->homeUrl),             //这里可以修改HOME,变成中文        'links'=>$this->breadcrumbs,)); ?><!-- breadcrumbs -->

4

http://www.yiichina.com/forum/thread-2657-1-2.html       yii怎么用ajax动态的增加或删除表单元素

5

设置cookie:

  1. $cookie = new CHttpCookie('mycookie','this is my cookie');
  2. $cookie->expire = time()+60*60*24*30;  //有限期30天
  3. Yii::app()->request->cookies['mycookie']=$cookie;
读取cookie:
  1. $cookie = Yii::app()->request->getCookies();
  2. echo $cookie['mycookie']->value;
销毁cookie:
  1. $cookie = Yii::app()->request->getCookies();
  2. unset($cookie[$name]);
6

控制器里想访问protected文件外视图,有没有相关的接口函数使用?最好有用法

renderFile(//文件夹/文件)

7

http://yiibook.com/

8

getUrlhttp://yiibook.local/test/index?var=valgetHostInfohttp://yiibook.local/test/index?var=valgetPathInfohttp://yiibook.local/test/index?var=valgetRequestUrihttp://yiibook.local/test/index?var=valgetQueryStringhttp://yiibook.local/test/index?var=val