关注安徽站长创业、网站优化、网站推广及搜索引擎优化(SEO)的自媒体平台,分享最新的seo和网站优化知识

前端模版的hook

发布:雷都SEO2019-12-29 15:21分类: akcms使用手册 标签: akcms教程

AKCMS提供了优先级从低到高全局、模块、栏目、内容四级模版设置机制,灵活应用可以适应绝大多数关于模版的需求。有时,特殊的需求需要在这四种机制之外,动态修改模版。我举几个例子:

例1:某网站需要增加手机版,检测到手机访问的时候显示对应的wap模版。

例2:某网站需要防采集,检测到某IP段的访问就使用一组假模版随机输出。

例3:某网站要黑帽SEO,检测到百度蜘蛛就喂一些与普通访客不同的模版。

前端模版的hook可以实现这样的需求(需要内核6.1+),首先创建一个应用(如何创建应用?)。

确保应用的目录中有一个子目录叫hook,然后在其中新建一个文件叫:foretemplate.php

在这个程序中,可以读到当前即将渲染的模版(变量名$template),要实现前述的功能就是为$template这个变量重新赋值。

最简单的直接改:

<?php
$template = ',demo.htm';
?>

确保这个模版文件存在,然后在后台“更新缓存”。再刷新前台页面,就会看到原来正常的页面已经替换为模版,demo.htm的内容了。

当然这只是一个演示,实际直接绕过后台的四级模版设置这样赋值是没有意义的。在这一句的前面肯定要加条件判断语句。

下面是一个应用的完整的hook代码的举例:

<?php
if(is_mobile_request()) {
	if(!ifstartwith($template, ',wap_')) $template = ',wap_'.substr($template, 1);
}
?>

稍微有点php的基础很容易理解这些代码的意思是,如果发现是手机请求,就在要渲染的模版前加wap_前缀。至于防采集和黑帽SEO等其他的动态修改模版的需求也都类似,都是判断条件符合后修改模版,二次开发时可以灵活运用。

【AKCMS建站交流QQ群:174110734】

转载请注明:本文《前端模版的hook》链接: http://seo.leidu.net/post-331.html

百度已收录

已有 0/376 人参与

发表评论:

欢迎分享合肥SEO自媒体

合肥网站SEO

欢迎使用手机扫描访问本站,还可以关注微信哦~