文档章节

ThinkPHP 自定义标签测试

冰糖710
 冰糖710
发布于 2015/05/13 15:52
字数 345
阅读 5
收藏 0

测试功能:根据source(二维数组或文本[1,男|0,女])生成单选按钮组,
text:显示值 对于二维数组

val:取值 对于二维数组

文本:逗号前为值,后为显示值

<?php

/**
 +-----------------------------
 * @desc ThinkPHP Fcb自定义标签
 +-----------------------------
 * @author 710
 +-----------------------------
 * @date 2011-12-14
 +-----------------------------
 */
import("TagLib");
class TagLibFcb extends TagLib{
	
	protected $tags = array(
	  'radiolist'=>array('attr'=>'name,source,type,text,val,checked,style,class','close'=>0,'level'=>3,'alias'=>'rt,rl'),
	);
	
	/**
	 +-------------------------------
	 * @desc  fcb:radiolist 解析
	 * @param string $type=>数据源类型
	 * list:数组源,text:文本源(如:1,男|2,女)
	 +-------------------------------
	 */
	public function _radiolist($attr,$content,$type='list'){
		$tag = $this->parseXmlAttr($attr,'radiolist');
		$type = empty($tag['type']) ? $type : $tag['type'];
		$source = $tag['source'];
		$name = isset($tag['name']) ? 'radio'.date('is') : $tag['name'];
		$text = empty($tag['text']) ? 'text' : $tag['text'];
		$val = empty($tag['val']) ? 'id' : $tag['val'];
		$style = empty($tag['style']) ? '' : 'style="'. $tag['style'].'"';
		$class= empty($tag['class']) ? '' : 'class="'. $tag['class'].'"';
		$checked = isset($tag['checked']) ? $tag['checked'] : '';
		$result='';
		if($type=='list'){
			$result.='<?php foreach($'.$source.' as $key=>$val): ?>';
			$result.='<input type="radio" <?php if($val['.$val.']=="'.$checked.'"): echo "checked=\"checked\"";endif ?>   '.$class.' '.$style.' name="'.$name.'" value="<?php echo $val['.$val.'] ?>" /><?php echo $val['.$text.'] ?>';
			$result.='<?php endforeach ?>';
		}elseif($type=='text'){
			$list = explode("|",$source);
			foreach($list as $key=>$val){
				$item = explode(",",$val);
				$result .= '<input type="radio" '.($item[0]==$checked?"checked=\"checked\"":"").' value="'.$item[0].'" name="'.$name.'" '.$class.' '.$style.' />'.$item[1];
			}
		}
		return $result;
	}
	
	/**
	 +------------------------------
	 * radiolist 别名 => 数据源为文本
	 * <fcb:rt source="1,男|2,女" />
	 * 逗号前为取得值,后为显示值
	 +------------------------------
	 */
	public function _rt($attr,$content){
		return $this->_radiolist($attr, $content,'text');
	}
	
	/**
	 +-------------------------------
	 * radiolist 别名=> 数据源为数组
	 * <fcb:rl source="list" text="name" val="id" />
	 * text:显示值,val:取值
	 +-------------------------------
	 */
	public function _rl($attr,$content){
		return $this->_radiolist($attr, $content,'list');
	}
	
}
?>

 

本文转载自:http://www.cnblogs.com/hxtgirq710/archive/2011/12/15/tplib.html

冰糖710
粉丝 4
博文 10
码字总数 0
作品 0
程序员
私信 提问
适合PHP新手入门上手的开发框架-thinkphp

ThinkPHP是一个开源的PHP框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。早期的思想...

big_cat
2013/06/15
0
0
Thinkphp怎样修改模板标签定界符

大家都知道在thinkphp里面,我们是通过在控制器里面给模板分配变量,然后在模板里面通过标签的方式来获取变量,假设有一个变量为$name,那么我们在模板里面就应该是通过 {$name}的方式来获取...

汤圆
2012/12/21
0
0
ThinkPHP 查询数据 select(findAll) 方法

ThinkPHP 查询数据 ThinkPHP 查询数据主要提供以下几类查询: select:普通查询,同 findAll() 方法 find:取得符合查询条件的一条记录 getBy动态查询:根据某个字段取得符合查询条件的一条记...

WangEven
2012/05/10
0
0
thinkphp开发的框架的简单介绍

  说起来现在的互联网时代中用到thinkphp的地方也是很多的,这也是一项技术活,开发框架也是比较有难度的,下面就给大家简单地介绍一下。   ThinkPHP是一个免费开源的,快速、简单的面向...

孙智绘
2012/06/28
40
0
Workerman集成ThinkPHP

关于Workerman与ThinkPHP集成的问题,相信已经有大神给出了答案。不过因为各人理解不一样,解决方案也是互有异同。 ThinkPHP版本:3.2.1+ Workerman版本:3.3.0+ 第一步:将Workerman复制到T...

零度开水
2016/05/27
5.4K
4

没有更多内容

加载失败,请刷新页面

加载更多

mysql mysql常用的数学函数

1. 数学函数 函 数 作 用 ABS(x) 返回x的绝对值 CEIL(x),CEILIN(x) 返回不小于x的最小整数值 FLOOR(x) 返回不大于x的最大整数值 RAND() 返回0~1的随机数 RAND(x) 返回0~1的随机数,x值相同返...

edison_kwok
36分钟前
0
0
译:Spring Data Repository 不区分大小写查询

使用Spring Data Repository 不区分大小写查询 原文链接:https://www.baeldung.com/spring-data-case-insensitive-queries 作者:Shubhra Srivastava 译者:liululee 1. 概览 Spring Data ......

liululee
43分钟前
1
0
读书replay《maven实战》.1.20190526

前情提要 maven这个工具用了好久了,但是一直都用的迷迷糊糊的,没有对它进行过系统性的学习,只是知道一些常用的功能怎么实现,所以20190516这一天我从JD购买了徐晓斌老师所著的《maven实战...

wanxiangming
58分钟前
2
0
真实项目案例实战——【状态设计模式】使用场景

什么是状态模式 状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。 状态模式应用场景 1.一个对象的行为取决于它的状态,并且它必须在运行时刻根...

须臾之余
今天
2
0
Java 实现把字符串转换成整数【底层实现】

https://blog.csdn.net/zl18310999566/article/details/80263396

qimh
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部