yii模板中常用变量总结
yii模板中常用的一些变量总结。
现有这样一个url:http://www.phpernote.com/demos/helloworld/index.php/xxx/xxx
则通过如下方式获取的值对应分别为:
除域名外的首页地址
echo Yii::app()->user->returnUrl; // '/demos/helloworld/index.php'
当前页面url
echo Yii::app()->request->url; // '/demos/helloworld/index.php/xxx/xxx'
当前域名
echo Yii::app()->request->hostInfo; // 'http://www.phpernote.com/'
根目录URL
echo Yii::app()->request->baseUrl; // '/demos/helloworld'
除域名外的根目录地址
echo Yii::app()->homeUrl; // '/demos/helloworld/index.php'
创建url地址
echo Yii::app()->createUrl('Site'); // /demos/helloworld/index.php?r=Site
除域名外的URL
Yii::app()->request->getUrl();
跳转前一个页面url $this->redirect(Yii::app()->request->urlReferrer);
跳转当前页面url Yii::app()->request->redirect(Yii::app()->user->returnUrl);
创建url地址 Yii::app()->createUrl('/',array('param1'=>'val')); // /demos/helloworld/index.php
渲染视图(布局) $this->render('view', array('attribute1'=>'value1','attribute2'=>'value2'));
跳转页面 $this->redirect(array('route','attribute1'=>'value1','attribute2'=>'value2'));
创建小组件$this->beginWidget(string $className, array $properties=array ( ))
$this->endWidget();
局部渲染 renderPartial('view', array('attribute1'=>'value1','attribute2'=>'value2'));
调用YII框架中jquery:Yii::app()->clientScript->registerCoreScript('jquery');
framework/web/js/source的js,其中registerCoreScriptkey调用的文件在framework/web/js/packages.php列表中可以查看
在view中得到当前controller的ID方法:Yii::app()->getController()->id;
在view中得到当前action的ID方法:Yii::app()->getController()->getAction()->id;
yii获取ip地址:Yii::app()->request->userHostAddress;
yii判断提交方式:Yii::app()->request->isPostRequest
得到当前域名: Yii::app()->request->hostInfo
得到proteced目录的物理路径:YII::app()->basePath;
获得上一页的url以返回:Yii::app()->request->urlReferrer;
得到当前url :Yii::app()->request->url;
得到当前home url :Yii::app()->homeUrl
得到当前return url :Yii::app()->user->returnUrl
项目路径:dirname(Yii::app()->BasePath)
一:Yii framework 已经定义的命名空间常量
system: 指向Yii框架目录; Yii\framework
zii: 指向zii library 目录; Yii\framework\zii
application : 指向应用程序基本目录; protected\
webroot: 指向包含里入口脚本 文件的目录; .\
ext : 指向包含所有第三方扩展的目录; \protected\extensions
用法:Yii::getPathOfAlias('webroot')
二:取得当前的完整路径
Yii::getFrameworkPath() :YII framework路径
三:插入meta信息
Yii::app()->clientScript->registerMetaTag('keywords','关键字');
Yii::app()->clientScript->registerMetaTag('description','一些描述');
Yii::app()->clientScript->registerMetaTag('author','作者');
示例:
表示为:Yii::app()->clientScript->registerLinkTag('alternate','application/xml',$this->createUrl('/feed'));
在控制器添加CSS文件或JavaScript文件
Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl.'/css/my.css');
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl.'/css/my.js');
在view中得到当前controller的ID方法
Yii::app()->getController()->id;
在view中得到当前action的ID方法
Yii::app()->getController()->getAction()->id;
Yii获取ip地址
Yii::app()->request->userHostAddress;
Yii判断提交方式
Yii::app()->request->isPostRequest
得到proteced目录的物理路径 Yii::app()->basePath;
项目路径 dirname(Yii::app()->basePath)
yii模板中常用变量总结的更多相关文章
- django 模板中通过变量替代key取字典内容
模板中通过变量替代key取字典内容 templatetags/├── get_item.py├── __init__.py ###get_item.py # coding=utf-8 from dja ...
- 走进AngularJs(二) ng模板中常用指令的使用方式
通过使用模板,我们可以把model和controller中的数据组装起来呈现给浏览器,还可以通过数据绑定,实时更新视图,让我们的页面变成动态的.ng的模板真是让我爱不释手.学习ng道路还很漫长,从模板 ...
- 齐博x1模板中常用的TP标签数据处理
上图是比较常用的, 而下图是比较特殊的场合,比如幻灯片可能会用到 下图使用了TP的循环标签. 上图只使用了条件判断标签 上图不存在 val="xxx" 这个参数,所以会自动循环输出 ...
- 在Intellij IDEA中修改模板中user变量名称
在Intellij IDEA中的注释模板中的${user}名称是根据当前操作系统的登录名来取的,有时候登录名称和我们实际的user名称并不相同. 修改方法如下: 方法一:可以在settings的fil ...
- freemarker 模板中定义变量
在模板中能够定义三种类型的变量: 简单变量:它能从模板中的不论什么位置来訪问,或者从使用 include 指令引入的模板訪问. 能够使用 assign 或 macro 指令来创建或替换这些变量. 局部 ...
- c++类模板中静态成员变量的声明定义
我们知道,c++中,类的静态成员是要在.cpp文件中定义的,如果在.h中定义,会出现重复定义. 但是在写类模板时,一般所有的代码都是放在.h文件中的,如果要做分离是一件很麻烦的事.那如果出现了静态成员 ...
- [django]模板中自定义变量&django模板中的变量
django自定义模板变量 context_processors.py def mysetings(request): return { 'NAME': 'maotai' } settings.py ...
- ShopEx 中规格属性添加时,自己主动计算其相应的销售价格,同一时候注意模板中的变量间的计算
在ShopEx中,添加产品的规格时,如颜色.尺寸.是否送货等配置信息,默认情况下,这些内容是须要手动计算的,若仅仅有几个属性值还easy计算,假设每个属性值比較多,通过手动计算将是一个灰常巨大的工作量 ...
- ThinkPHP 3.1.2 模板中的变量
一.变量输出 (重点) 1.标量输出 2.数组输出 {$name[1]} {$name['k2']} {$name.k1} 3.对象输出 {$name:k} {$name->k} 二.系统变量 ...
随机推荐
- 【dp】P1077 摆花
基础DP题 题目描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆.通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号.为了在门口展出更多种花,规定第i种花不能超过a ...
- Ajax原生代码
Ajax传数据有两种方式:get/post.下面是前台的get/post方式的代码. //------------原生--------- function AjaxGET(){ //第一步 调用Aja ...
- python 类的使用
目录 类的继承 类的派生 类的组合 菱形继承问题 多态与多态性 dataclass的使用 类的继承 什么是继承,在生活中,子承父业,父亲和儿子就是继承的关系 在python中,父类和子类(派生类),父 ...
- Altium Designer入门学习笔记3:关于各模块分开布线的理解( 1)
观看"杜洋AD的讲解视频",杜洋着重强调了"模块分开"布线的好处. ---------------------------------------------- ...
- 在linux下安装并运行scrapyd
系统:centos7.4 安装scrapyd:pip isntall scrapyd 因为我腾讯云上是python2与python3并存的 所以我执行的命令是:pip3 isntall scrapyd ...
- Leetcode 75. 颜色分类
题目链接 https://leetcode-cn.com/problems/sort-colors/description/ 题目描述 给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们 ...
- vijos--繁华的都市
描述 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条道路 ...
- 利用virt-manager,xmanager, xshell启动界面来管理虚拟机
有时候我们需要搭建一套自己的简单环境来启动一个虚拟机,验证一些问题. 1.首先我利用vmware workstation来创建centos7虚拟机,然后开启虚拟化,如下图所示. 2.其次,启动虚拟机, ...
- POJ - 1321 深度优先搜索入门
#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> us ...
- Ubuntu超简单文书编辑器:nano
nano 的使用很简单,可以直接加上档名就能够开启一个旧档或新档! 直接在终端输入指令:nano text.txt,如下图所示打开的是已有的文档! 第一部分反白部分,是nano的版本与档名 第二部分可 ...