在view目录下创建Index_aaa.html

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>select</title>
  6. </head>
  7. <body>
  8. <tagLib name="html"/>
  9. <html:select options="address" selected="sh" values="address"/>
  10. </body>
  11. </html>
在IndexController.class.php里面编写函数
  1. public function aaa(){
  2. $this->assign("address",["sh"=> "上海","天津","北京","郑州"]);
  3. $this->display();
  4. }

修改此文件可以编写标签库

把输出的几项全部改为val即可解决values='0'
的问题,让values的值等于option的值

编写新的标签
      'ms'=>array('attr'=>'id,name,options,selected','close'=>0)  
<html:ms id="aa" name="uu" options="address" selected="北京"/><br> 
修改后的代码selected的值可以随便写即可
 
  1. public function _ms($tag) {
  2. $name = $tag['name'];
  3. $options = $tag['options'];
  4. $id = $tag['id'];
  5. $selected = $tag['selected'];
  6. $parseStr = '<select id="'.$id.'" name="'.$name.'" >';
  7. $parseStr .='<?php foreach($'.$options.' as $val) { ?>';
  8. $parseStr .='<?php if("'.$selected.'"==$val) { ?>';
  9. $parseStr .= '<option selected="selected" value="<?php echo $val ?>"><?php echo $val ?></option>';
  10. $parseStr .= '<?php } else { ?><option value="<?php echo $val ?>"><?php echo $val ?></option>';
  11. $parseStr .= '<?php } ?>';
  12. $parseStr .= '<?php } ?>';
  13. $parseStr .= '</select>';
  14. return $parseStr;
  15. }
可以根据分配的值来确定selected
  1. public function _ms($tag) {
  2. $name = $tag['name'];
  3. $options = $tag['options'];
  4. $id = $tag['id'];
  5. $selected = $tag['selected'];
  6. $parseStr = '<select id="'.$id.'" name="'.$name.'" >';
  7. $parseStr .='<?php foreach($'.$options.' as $val) { ?>';
  8. /* $parseStr .='<?php if("'.$selected.'"==$val) { ?>';*///selected的值可以随便写
  9. $parseStr .='<?php if($'.$selected.'==$val) { ?>';//值可以先分配再写
  10. $parseStr .= '<option selected="selected" value="<?php echo $val ?>"><?php echo $val ?></option>';
  11. $parseStr .= '<?php } else { ?><option value="<?php echo $val ?>"><?php echo $val ?></option>';
  12. $parseStr .= '<?php } ?>';
  13. $parseStr .= '<?php } ?>';
  14. $parseStr .= '</select>';
  15. return $parseStr;
  16. }
  1. public function aaa(){
  2. $this->assign("address",["上海","天津","北京","郑州"]);
  3. $this->assign("sh","天津");
  4. $this->display();
  5. }
  1. <tagLib name="html"/>
  2. <html:ms id="aa" name="uu" options="address" selected="sh"/><br>
用框架本身带的也可以实现

把红线处的$key修改为$val用分配变量的方式也可以实现selected,系统自带的稍加修改,但是值不可以随便写在selected后
  1. public function _select($tag) {
  2. $name = $tag['name'];
  3. $options = $tag['options'];
  4. $values = $tag['values'];
  5. $output = $tag['output'];
  6. $multiple = $tag['multiple'];
  7. $id = $tag['id'];
  8. $size = $tag['size'];
  9. $first = $tag['first'];
  10. $selected = $tag['selected'];
  11. $style = $tag['style'];
  12. $ondblclick = $tag['dblclick'];
  13. $onchange = $tag['change'];
  14. if(!empty($multiple)) {
  15. $parseStr = '<select id="'.$id.'" name="'.$name.'" ondblclick="'.$ondblclick.'" onchange="'.$onchange.'" multiple="multiple" class="'.$style.'" size="'.$size.'" >';
  16. }else {
  17. $parseStr = '<select id="'.$id.'" name="'.$name.'" onchange="'.$onchange.'" ondblclick="'.$ondblclick.'" class="'.$style.'" >';
  18. }
  19. if(!empty($first)) {
  20. $parseStr .= '<option value="" >'.$first.'</option>';
  21. }
  22. if(!empty($options)) {
  23. $parseStr .= '<?php foreach($'.$options.' as $key=>$val) { ?>';
  24. if(!empty($selected)) {
  25. $parseStr .= '<?php if(!empty($'.$selected.') && ($'.$selected.' == $val || in_array($key,$'.$selected.'))) { ?>';
  26. $parseStr .= '<option selected="selected" value="<?php echo $val ?>"><?php echo $val ?></option>';
  27. $parseStr .= '<?php }else { ?><option value="<?php echo $val ?>"><?php echo $val ?></option>';
  28. $parseStr .= '<?php } ?>';
  29. }else {
  30. $parseStr .= '<option value="<?php echo $val ?>"><?php echo $val ?></option>';
  31. }
  32. $parseStr .= '<?php } ?>';
  33. }else if(!empty($values)) {
  34. $parseStr .= '<?php for($i=0;$i<count($'.$values.');$i++) { ?>';
  35. if(!empty($selected)) {
  36. $parseStr .= '<?php if(isset($'.$selected.') && ((is_string($'.$selected.') && $'.$selected.' == $'.$values.'[$i]) || (is_array($'.$selected.') && in_array($'.$values.'[$i],$'.$selected.')))) { ?>';
  37. $parseStr .= '<option selected="selected" value="<?php echo $'.$values.'[$i] ?>"><?php echo $'.$output.'[$i] ?></option>';
  38. $parseStr .= '<?php }else { ?><option value="<?php echo $'.$values.'[$i] ?>"><?php echo $'.$output.'[$i] ?></option>';
  39. $parseStr .= '<?php } ?>';
  40. }else {
  41. $parseStr .= '<option value="<?php echo $'.$values.'[$i] ?>"><?php echo $'.$output.'[$i] ?></option>';
  42. }
  43. $parseStr .= '<?php } ?>';
  44. }
  45. $parseStr .= '</select>';
  46. return $parseStr;
  47. }
引入ueditor放在js里面修改ueditor.config.js为如下的代码
  1. window.UEDITOR_HOME_URL = "/Public/js/ueditor/";


thinkphp里面放百度编辑器
  1. $parseStr = '<script id="container" name="content" type="text/plain">这里写你的初始化内容</script><script type="text/javascript" src="__ROOT__/Public/js/ueditor/ueditor.config.js"></script><script type="text/javascript" src="__ROOT__/Public/js/ueditor/ueditor.all.js"></script><script type="text/javascript"> var ue = UE.getEditor("container",{emotionLocalization:true,lang:"zh-cn",initialFrameWidth:"80%",initialFrameHeight:320,textarea:"content",initialContent:"欢迎留言!", autoClearinitialContent:true}); </script>';
然后在Index_aaa.html 里面编写要显示的代码
  1. <tagLib name="html"/>
  2. <html:editor type="UEDITOR"></html:editor>




thinkphp修改及编写标签库,编辑器的使用的更多相关文章

  1. thinkphp 标签库

    内置的模板引擎除了支持普通变量的输出之外,更强大的地方在于标签库功能. 标签库类似于Java的Struts中的JSP标签库,每一个标签库是一个独立的标签库文件,标签库中的每一个标签完成某个功能,采用X ...

  2. jsp程序设计:jstl之JSTL标签库

    转载自:http://www.blogjava.net/haizhige/archive/2008/10/26/236783.html,个人进行了一些修改. 前言:写一个taglib一般可以继承Sim ...

  3. java-自定义标签&&JSTL标签库详解

    自定义标签是Jav aWeb的一部分非常重要的核心功能,我们之前就说过,JSP规范说的很清楚,就是Jsp页面中禁止编写一行Java代码,就是最好不要有Java脚本片段,下面就来看一下自定义标签的简介: ...

  4. JavaWeb学习篇之----自定义标签&&JSTL标签库详解

    今天来看一下自定义标签的内容,自定义标签是JavaWeb的一部分非常重要的核心功能,我们之前就说过,JSP规范说的很清楚,就是Jsp页面中禁止编写一行Java代码,就是最好不要有Java脚本片段,下面 ...

  5. ThinkPHP3.2.3 自定义标签库的使用

    ThinkPHP 3.2.3 手册中标签库驱动的地址是: http://www.kancloud.cn/manual/thinkphp/1859 标签库的地址是:http://www.kancloud ...

  6. 学习笔记_Java_day13_JSTL_自定义标签库(9)

    自定义标签 1 自定义标签概述 1.1 自定义标签的步骤 其实我们在JSP页面中使用标签就等于调用某个对象的某个方法一样,例如:<c:if test=””>,这就是在调用对象的方法一样.自 ...

  7. jsp的标签库和自定义标签

    1.jstl标签库 JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. ...

  8. 十、JSTL标签库

      l JSTL标签库(重点) l 自定义标签(理解) l MVC设计模式(重点中的重点) l Java三层框架(重点中的重点) JSTL标签库 1 什么是JSTL JSTL是apache对EL表达式 ...

  9. EL表达式、JSTL标签库

    一.EL(Expression Language)表达式 语法结构:${var} 若要停用对EL表达式的评估的话,需要使用page指令将isELIgnored属性值设为true: <%@ pag ...

随机推荐

  1. handshake_failure

    在java 1.6版本中,通过HttpsURLConnection请求class 1(多发生于免费ssl证书,比如沃通或者startssl的)的https网络地址时,可能会报握手异常: Caused ...

  2. flex 布局 初次接触这个好使又不是特别好用的布局方法

    刚开始学前端的童鞋们应该也是一样先学习的table然后再学习了盒子模型,感觉终于学会了简单的网页布局,使用各种display,float,position绞尽脑汁给页面布局成自己想要的页面样式,然而, ...

  3. sqlserver 对字符串的SUM

    select id,keyword ,max(Confidence) as confidence, TimeRange=stuff((select ','+rtrim(begintime)+'-'+r ...

  4. not子查询中有null值的时候 not in 会失效

    not in子查询中有null值的时候 not in 会失效 但是 in 的子查询中有null的 不会失效

  5. 初版storm项目全流程自动化测试代码实现

    由于项目需要,写了版针对业务的自动化测试代码,主要应用场景在于由于业务日趋复杂,一些公共代码的改动,担心会影响已有业务.还没进行重写,但知识点还是不少的与大家分享实践下.首先,介绍下整个流处理的业务流 ...

  6. angular(3)服务 --注入---自定义模块--单页面应用

    ng内部,一旦发生值改变操作,如$scope.m=x,就会自动轮询$digest队列,触发指定的$watch,调用其回调函数,然后修改dom树. 干货:https://github.com/xufei ...

  7. 停掉Linux固定的进程

    ps -ef | grep php  查看进程ID,和信息 kill -s 9 1827 相关命令 ps -ef , ps -aux , pgrep php ,

  8. PMIC RTC 寄存器

    RTC_PDN1 bit 0 - 3 : Android bits bit 4 - 5 : Recovery bits (0x10: factory data reset) bit 6 : Bypas ...

  9. Python操作Excel之xlrd

    import xlrdworkbooks=xlrd.open_workbook("test.xlsx")print(workbooks.sheet_names())#获取sheet ...

  10. JAVA编程规范(下)

    JAVA编程规范(下) 2016-03-27 6. 代码的格式化 6.1 对代码进行格式化时,要达到的目的 1.     通过代码分割成功能块和便于理解的代码段,使代码更容易阅读和理解: 2.     ...