请选择 进入手机版 | 继续访问电脑版

雨哲工作室

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
雨哲工作室 资料库 Discuz!X常见问题 关于插件页面手机版不解析插件嵌入点的相关研究记录
  • 全部资料
  • 查看资料

关于插件页面手机版不解析插件嵌入点的相关研究记录

2018-5-21 05:35|分类: Discuz!X常见问题 |发布用户: 雨哲

因为页面较多,而且这些页面使用的手机模板又不一样,便想弄个全站的手机版导航,可以在所有页面中同时调用。在刚开始测试时就发现插件页面(基于plugin.php的)中不能解析插件的页面嵌入点插件(基于hook实现的)功能。

经过仔细检测分析,并不是不解析,而是有解析条件。在文件source/class/class_template.php中有一处判断:

$headerexists = preg_match("/{(sub)?template\s+[\w\/]+?header\}/", $template);

这里判断直接影响是否执行hookscriptoutput函数,判断模板中必须载入头部模板:{[sub]template AAA/header},要注意一点,这里的AAA必须是符合一定规则的目录路径,就是只能是数字、字母、斜杠组合,如果是包含其他字符则不会解析。

示例:

解析hook:{template common/header}

不解析hook:{template yuzhe_page:common/header} <错误原因是包含了冒号:>

解决方法:在模板中引入{template common/header},如果不需要但也要引入,可以在模板里面加个从不成立的条件,如:

<!--{if 1==0}--><!--{template common/header}--><!--{/if}-->

另外再补充一点:插件页面(基于plugin.php)中专用嵌入点的问题,插件identifier中不能包含_(下划线),如果包含了,则在插件页面中不能使用专用嵌入点。

分享到: 手机访问 分享给QQ好友 分享到QQ 分享到QQ空间 QQ空间 分享到新浪微博 新浪微博 分享到人人 人人网

手机扫码访问

QQ|关于我们|Archiver|手机版|小黑屋|雨哲工作室

GMT+8, 2018-11-22 04:15 , Processed in 0.062546 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

返回顶部