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

修改文件:

ThinkPHP/Library/Think/Template.class.php

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

修改后代码贴出:

// 解析模板中的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

$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代替路径直接引入文件,这样一来被引入的子模板同样可以使用其他标签变量。

php页面引用公共文件,WeiPHP插件模板中快速引入公共模板文件相关推荐

  1. 如何检查文件是否是python中的目录或常规文件? [重复]

    本文翻译自:how to check if a file is a directory or regular file in python? [duplicate] Possible Duplicat ...

  2. phpcms 模板中php代码,PHPCMS 模板制作教程 黑夜之舞出品

    第一讲:了解PHPCMS2008模板的位置及结构 首先从官网把phpcms2008最新版本下载下来,并安装好.安装好之后在后台里的网站配置--基本信息那 生成文件扩展名 html设置好,然后更新首页和 ...

  3. crossphp框架中,在模板中加载其他模板

    这里说我自己做的项目的应用场景 要求是用layui框架的layer组件,实现弹出层效果,用原声PHP无疑很容易做到,但是如果应用到crossphp框架流程就会非常麻烦 这里简单讲一下大致的步骤: 1. ...

  4. 如何从PDF文件中快速的提取PDF文件

    现在网上有很多文案或者文章都是pdf文件格式的,我们想借鉴里面的案例做成PPT,但是里面的图片就是提取不出来的,这里小编要说的是PDF文件提取不出来是正常的,pdf文件是个将图片.文字.超链接.声音等 ...

  5. vue-cli3项目中全局引入less sass文件 以及使用本地图片在不同地方规则

    第一种直接在main.js中引入,需要声明loader demo: import '!style-loader!css-loader!less-loader!./assets/css/common.l ...

  6. 文件夹重命名,快速修改多个文件夹名称

    文件夹里的面有很多个子文件夹,看着都好复杂,要一个一个的重命名文件夹觉得好难,手动一个一个重命名,学得也是一件很苦恼的事情,别急下面小编教你这个新技巧.一键可操作,下面就让我闪来学习下吧. 准备工具: ...

  7. python读文件路径-在Python中按路径读取数据文件的几种方式

    我们知道,写Python代码的时候,如果一个包(package)里面的一个模块要导入另一个模块,那么我们可以使用相对导入: 假设当前代码结构如下图所示: img 其中test_1是一个包,在util. ...

  8. 帝国cms模板中php,帝国cms模板中使用PHP生成随机字符的方法

    做站的站长很多时候买个模板就直接用,对于模板的一些小优化这类知道的很少,下面来说说如何在模板中使用随机字符来提供模板的唯一性和原创程序.Kzm云狐网 - 电脑_数码_手机应用的IT技术网站Seo 方法 ...

  9. html字体库otf文件使用,在webpack中加载.otf字体文件的正确方法是什么?

    使用webpack时加载.otf字体文件的适当方式是什么?我曾多次尝试包括在我的webpack.config.js的规则,没有任何成功的基础上,很多例子我大致如下的线路看出:对于在webpack中加载 ...

最新文章

  1. Oracle 11g新特性:Automatic Diagnostic Repository
  2. UINavigationController扩展
  3. Exploiting the Syntax-Model Consistency for Neural Relation Extraction-学习笔记
  4. 计算abc=a!+b!+c!
  5. Python min 函数 - Python零基础入门教程
  6. 你心中有这样的人吗?
  7. bcp: 给boost瘦身
  8. java jackson 自定义_java – 自定义jackson解组行为
  9. Google android market 电子市场的安装 (for 1.6)
  10. 机器学习成长之路——开篇引题
  11. 【进阶版】 机器学习之聚类算法原理详解+案例解说(14)
  12. Head First Java 目录结构
  13. win10下安装deepin双系统教程
  14. Arrays.sort(arr, (a, b) -> a - b)是对数组进行排序
  15. 2023年全国管理类联考综合试卷真题及解析
  16. 看了这个,再也不怕流量劫持了!
  17. wfp 禁用ip_WFP网络过滤驱动——限制网站访问
  18. C#版 - Leetcode 306. 累加数 - 题解
  19. android小电脑,废旧笔记本电脑纯手工改装“安卓小电脑”,太赞了!
  20. 一篇文章带你了解Nodejs

热门文章

  1. 【算法大赛直播周】大赛评委分享广告技术干货,精彩不容错过!
  2. 关于TikTok的变现思考和三种玩法
  3. Python程序的执行过程
  4. 函数二的变量作用域,多函数执行,返回值,函数参数,拆包,引用
  5. 吴恩达深度学习CNN作业:Convolutional Neural Networks: Step by Step
  6. TypeError: create_target_machine() got an unexpected keyword argument ‘jitdebug‘解决方案
  7. vmware中按Ctrl+Alt+Del的困扰
  8. 远程计算机如何访问本地,远程计算机的本地Web服务访问(本地主机与IP地址)...
  9. linux 中断 c语言程序,linux驱动之中断处理过程C程序部分
  10. 如何处理Long类型精度丢失问题?