<?php
echo $this->createUrl('admin/left_menu');
?> //**.php?r=admin/left_menu
<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'主菜单', 'url'=>array('/admin/left_menu')),
array('label'=>'内容发布', 'url'=>array('/admin/page')),
array('label'=>'内容维护', 'url'=>array('/site/contact')),
array('label'=>'系统主页', 'url'=>array('/site/login')),
array('label'=>'网站主页', 'url'=>array('/site/logout')),
array('label'=>'会员中心', 'url'=>array('/site/login')),
array('label'=>'注销', 'url'=>array('/site/login')),
),
)); ?>
//除域名外的URL
Yii::app()->request->getUrl();
除域名外的首页地址
Yii::app()->user->returnUrl;
6、//除域名外的根目录地址 Yii::app()->homeUrl;
YII FRAMEWORK的COOKIE使用方法
在控制器添加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');
}
YII FRAMEWORK的用户验证与授权
$identity=new UserIdentity($username,$password);
if($identity->authenticate())
Yii::app()->user->login($identity);
else
echo $identity->errorMessage;用户退出时,则调用如下代码:
// 注销当前用户 Yii::app()->user->logout();
其中的user是yii的一个components.需要在protected/config/main.php中定义
YII FRAMEWORK中TRASACTION事务的应用
$model=Post::model();
$transaction=$model->dbConnection->beginTransaction();
try
{
// find and save are two steps which may be intervened by another request
// we therefore use a transaction to ensure consistency and integrity
$post=$model->findByPk(10);
$post->title='new post title';
$post->save();
$transaction->commit();
}
catch(Exception $e)
{
$transaction->rollBack();
}
Yii Framework中截取字符串(UTF-8)的方法
Helper.php
class Helper extends CController
{
public static function truncate_utf8_string($string, $length, $etc = '...')
{
$result = '';
$string = html_entity_decode(trim(strip_tags($string)), ENT_QUOTES, 'UTF-8');
$strlen = strlen($string);
for ($i = 0; (($i < $strlen) && ($length > 0)); $i++)
{
if ($number = strpos(str_pad(decbin(ord(substr($string, $i, 1))), 8, '0', STR_PAD_LEFT), '0'))
{
if ($length < 1.0)
{
break;
}
$result .= substr($string, $i, $number);
$length -= 1.0;
$i += $number - 1;
}
else
{
$result .= substr($string, $i, 1);
$length -= 0.5;
}
}
$result = htmlspecialchars($result, ENT_QUOTES, 'UTF-8');
if ($i < $strlen)
{
$result .= $etc;
}
return $result;
}
}将Helper.php放进protected\components文件夹下。
使用方法:
Helper::truncate_utf8_string($content,20,false); //不显示省略号
Helper::truncate_utf8_string($content,20); //显示省略号
CBREADCRUMBS简介~俗称:面包屑
功能介绍:zii.widgets 下的CBreadcrumbs类,其继承关系: CBreadcrumbs » CWidget »
CBaseController » CComponent .源代码位置:
framework/zii/widgets/CBreadcrumbs.php
面包屑类显示一个链接列表以表明当前页面在整个网站中的位置.
由于面包屑通常会出现在网站的近乎所有的页面,此插件最好在视图的layout中进行部署.
你可以定义一个breadcrumbs属性并且在布局文件中指派给(网站)基础控制器插件,如下所示:
于是乎,你需要时,只需要在每个视图脚本中,指定breadcrumbs属性(就可以显示出网页导航了).
以上是官方提供的文档文件的介绍.
下面介绍视图文件中写法:
$this->breadcrumbs=array(
'Users'=>array('index'),
'Create',
// 形式 : 'key' =>'value' key的位置相当于最后显示出来的a标签内的名字, value则相当于a标签的href属性.
// 'Create'表示当前页 故没有设置链接.
);
YII FRAMEWORK中验证码的使用
1.在controller中修改:
2.在view的form表单中添加如下代码:
<?php if(CCaptcha::checkRequirements()): ?>
<div class="row">
<?php echo $form->labelEx($model,'verifyCode'); ?>
<div>
<?php $this->widget('CCaptcha'); ?>
<?php echo $form->textField($model,'verifyCode'); ?>
</div>
<div class="hint">Please enter the letters as they are shown in the image above.
<br/>Letters are not case-sensitive.</div>
<?php echo $form->error($model,'verifyCode'); ?>
</div>
<?php endif; ?>
YII FRAMEWORK的CHTML::LINK支持锚点
CHtml::link(‘链接文字’,array(‘article/view’,’id’=>’3′,’#’=>’锚名称’);
CUrlManager的 createUrl,是可以支持 ‘#’ 的!
$params = array(‘userid’ => 100, ‘#’ => ‘锚名称’);
$this->createUrl($route, $params);
YII FRAMEWORK在WEB页面查看SQL语句配置
YII FRAMEWORK打印AR结果
$user = 模型->model()->findAll();
foreach($user $v) {
var_dump($v->attributes);
}
yii 数据save后得到插入id
//得到上次插入的Insert id
$id = $post->attributes[‘id’];
如此很简单
yii获取ip地址
yii execute后获取insert id
yii获取get,post过来的数据
yii如何设置时区
yii如何将表单验证提示弄成中文的
yii如何获得上一页的url以返回
yii多对多关联条件
yii如何防止重复提交?
yii过滤不良代码
显示yii的sql语句查询条数和时间
array( 'class'=>'CProfileLogRoute', 'levels'=>'error, warning', )
Yii多数据库操作
<?php
......
'components'=>array(
'db'=>....// 主链接
'db1'=>...// 从连接1
'db2'=>...// 从连接2
)……操作在代码里,可以通过Yii::app()->db1和Yii::app()->db2获得两个从连接。高级操作更高级(自动)的主从数据库功能将在1.1实现。