Yii框架常见问题
2013-01-07 11:31 caridy 阅读(242) 评论(0) 编辑 收藏 举报1. 如何让默认的程序显示为中文?
修改protected/config/main.php, 全局配置中增加或修改 'language' => 'zh_cn',
另外,yii默认支持的语言类型,可参照框架目录中的views目录。
2. 如果控制器中生成的变量很多,需要拼装成数组传递给render方法,如何才能更简洁一些?
使用get_defined_vars()得到当前作用域所有变量,避免使用拼装视图变量的方式,在控制器中使用以下代码:
$this->render('login', get_defined_vars());
3. 验证码不刷新?
这确实是yii的一个bug, 无论刷新页面多少次,验证码似乎都不变化,原始问题反馈于http://code.google.com/p/yii/issues/detail?id=801
我们可以通过修改框架源码实现,但这种方式会让程序的移植性变差,变通的方法是在控制的actions方法中为CCaptchaAction组件指定特殊属性:
public function actions()
{
return array(
// captcha action renders the CAPTCHA image displayed on the contact page
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF,
'fixedVerifyCode' => substr(md5(time()),0,4),
'fontFile' => yii::app()->basePath.'/simsun.ttc',
),