部署DeepSeek模型,进群交流最in玩法!
立即加群
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >WeiPHP插件模板中快速引入公共模板文件

WeiPHP插件模板中快速引入公共模板文件

作者头像
96php.cn
发布于 2018-04-28 07:06:27
发布于 2018-04-28 07:06:27
1K00
代码可运行
举报
文章被收录于专栏:www.96php.cnwww.96php.cn
运行总次数:0
代码可运行

WeiPHP插件模板中快速引入公共模板文件,weiphp建立于onethink之上,简单修改代码,无需填写绝对路径实现轻松引入模板。记录一下,分享给需要的人。

修改文件:

ThinkPHP/Library/Think/Template.class.php

3.2版本大约是326行左右。即parseInclude方法中

修改后代码贴出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   // 解析模板中的include标签    protected function parseInclude($content, $extend = true) {

        // 解析继承        if($extend)
            $content    =   $this->parseExtend($content);
        // 解析布局        $content    =   $this->parseLayout($content);
        // 读取模板中的include标签        $find       =   preg_match_all('/'.$this->config['taglib_begin'].'include\s(.+?)\s*?\/'.$this->config['taglib_end'].'/is',$content,$matches);
		
        if($find) {
            for($i=0;$i<$find;$i++) {
                $include    =   $matches[1][$i];
                $array      =   $this->parseXmlAttrs($include);
                $file       =   $array['file'];
                unset($array['file']);				// 二次修改插件路径[start]
				if(strstr($file,'addons:')){
					$file = strtr($file,array('addons:'=>ONETHINK_ADDON_PATH._ADDONS.'/View/default/'));
					$file = strtr($file,array('\\'=>'/'));
				}				//二次修改插件路径[end]                $content    =   str_replace($matches[0][$i],$this->parseIncludeItem($file,$array,$extend),$content);
            }
        }
        return $content;
    }

模板页引入方式:

使用addons代替路径直接引入文件,这样一来被引入的子模板同样可以使用其他标签变量。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<include file="addons:User\header.html" />
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年12月21日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
开发中经常用到的代码
http://surl.sinaapp.com/ 引入百度CDN公共库 地址:http://t.cn/zYDC8wj
老高的技术博客
2022/12/27
5020
关于typecho的一些样式代码
循环页面、分类、标签 <!--循环显示页面--> <?php $this->widget('Widget_Contents_Page_List')->to($pages); ?>
用户7146828
2021/08/09
1.3K0
thinkPHP3.0框架实现模板保存到数据库的方法
本文实例讲述了thinkPHP3.0框架实现模板保存到数据库的方法。分享给大家供大家参考,具体如下: 在开发cms的时候用到如果将模板文件存入到数据库并显示到页面中 由于thinkphp3.0都是直接从模板文件中读取再解析的那么对于模板存入数据库中就只有自己开发了,还有thinkphp3.0中有mode的功能我们可以定义自己的mode这样就可以达到目的了,那么如何来扩展自己的mode呢?如下: 1.在你的入口文件中输入
用户2323866
2021/07/01
7770
高性能前端 art-template 模板
官网: https://aui.github.io/art-template/zh-cn/index.html
老马
2018/07/31
2.1K0
高性能前端 art-template 模板
48条高效率的PHP优化写法
1 字符串 1.1 少用正则表达式 能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式, 因为其效率高于正则。 没得说,正则最耗性能。 str_replace函数要比preg_replace快得多,strtr函数又比str_replace来得快。 有没有你漏掉的好用的函数? 例如:strpbrk()、strncasecmp()、strpos()、strrpos()、stripos()、strripos()。 1.2 字符替换 如果需要转换的全是单个字符,用字符串作为 strtr() 函数完成
wangxl
2018/03/09
2.5K0
Typecho主题模板制作快速入门简易教程
Typecho主题的制作并不难,(以下称模板)只要写好了HTML和CSS,嵌套模板就非常简单了,无需了解标签的内部结构,只要会使用,就能迅速完成模板。
梦溪
2021/08/09
6K0
PHP实现简单的模板引擎功能示例
本文实例讲述了PHP实现简单的模板引擎功能。分享给大家供大家参考,具体如下: php web开发中广泛采取mvc的设计模式,controller传递给view层的数据,必须通过模板引擎才能解析出来。实现一个简单的仅仅包含if,foreach标签,解析$foo变量的模板引擎。 编写template模板类和compiler编译类。代码如下:
用户2323866
2021/07/05
1.3K0
WP Super Cache静态缓存插件纯代码版(兼容多域名网站)
中午,小熊发来一篇来自歧路亡羊博客的精彩教程:《wordpress 利用代码来实现缓存》。粗略看了一下,发现这个代码在几个月之前我就用过,不过由于此代码无法区分多个域名,从而会导致移动站无法跳转的情况。 我利用午休的时间,仔细看了下这篇文章,发现博主在原代码的基础上,还加上了自动刷新缓存的机制,不过貌似是和 WP Super Cache 插件一样,只要更新文章,就会清除所有缓存,感觉不太适合我。 不过,这篇文章还是激发了我兴趣。折腾了几个月,我现在也能基本看得懂 PHP 了,所以决定把这个代码修改一下,让它
张戈
2018/03/23
2.2K0
WP Super Cache静态缓存插件纯代码版(兼容多域名网站)
ThinkCMF 前台模板注入 RCE
ThinkCMF 是一款基于 PHP+MYSQL 开发的中文内容管理框架,底层采用 ThinkPHP3.2.3 构建。
wywwzjj
2023/05/09
1.6K0
ThinkCMF 前台模板注入 RCE
Typecho主题开发/二次开发常用代码功能整理备用
目前我们在使用的博客CMS程序中,可能较多的网友会使用WordPress,毕竟提供的免费主题、插件以及文档是比较多的,主要是用户量确实比较多。其次国内的免费博客CMS中,ZBLOG和Typecho是小众用户群,不能说不行,只能说用户量相对比较小。但是老蒋个人认为有用作个人博客日志的还是可以用的。
老蒋
2021/12/24
4930
骑士CMS模版注入+文件包含getshell复现
骑士cms人才系统,是一项基于PHP+MYSQL为核心开发的一套免费 + 开源专业人才网站系统。软件具执行效率高、模板自由切换、后台管理功能方便等诸多优秀特点。
Timeline Sec
2020/12/16
1.6K0
bypass disable function学习
信息收集是不可缺少的一环;通常的,我们在通过前期各种工作成功执行代码 or 发现了一个phpinfo页面之后,会从该页面中搜集一些可用信息以便后续漏洞的寻找。
HhhM
2022/08/10
2.3K0
bypass disable function学习
tp3.1.2缓存,日志,调试,模板,标签,视图
1.模板 默认在tpl目录下 默认后缀是.html,可以通过TMPL_TEMPLATE_SUFFIX来配置 如果启用分组,那么模板可能在tpl/分组名/目录下,可以配置TMP_FILE_DEPR来简化模板目录层次 2.赋值 $this->assign(‘name’, $name); 3.模版渲染 调用当前模块下当前操作$this->display(); 调用当前模块下的其他操作$this->display(‘user’);//当前在index,注意不要带后缀 调用其他模块下的操作$this->
苦咖啡
2018/05/08
1.5K0
Android性能优化系列之布局优化
在Android开发中,UI布局可以说是每个App使用频率很高的,随着UI越来越多,布局的重复性、复杂度也会随之增长,这样使得UI布局的优化,显得至关重要,UI布局不慎,就会引起过度绘制,从而造成UI卡顿的情况,本篇博客,我就来总结一下UI布局优化的相关技巧。
老马的编程之旅
2022/06/22
1.1K0
Android性能优化系列之布局优化
html中引入调用另一个公用html模板文件的方法
查了一下资料,发现html中引入调用另一个html的方法有很多种,我都尝试了一下,就把他们都列出来吧: 其中推荐第一种和第六种,因为代码太长就写在最后了。其他的方法,可以自己尝试,看是不是适合你当前项目。
德顺
2019/11/13
9K0
html中引入调用另一个公用html模板文件的方法
PHP操作文件目录,已封装30个常用方法,共享!
06.@desc 判断 文件/目录 是否可写(取代系统自带的 is_writeable 函数)
程序猿的栖息地
2022/04/29
9680
PHP精华
“”.$a.= “{$a} 配置php.ini//ini_set(display_erroPHP
Java架构师必看
2021/03/22
1.2K0
Smarty模板引擎
请注意,本文编写于 1727 天前,最后修改于 996 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
5K0
Smarty模板引擎
smarty模板引擎原理解析
//php 控制器文件 <?php //引入模板引擎文件 include("20130304.php"); $smarty = new TinySmarty(); $qq_numbers=array(
joshua317
2018/04/13
1.7K0
thinkphp框架解析0 -- 起源
THINKPHP是国人开发的PHP框架,如今终于深入内部打探了一番,下面给大家分享老高的心得。
老高的技术博客
2022/12/27
1.3K0
相关推荐
开发中经常用到的代码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验