摘要:开发思路主要运用了系统预留的钩子类,由于源代码加密无从得之其具体实现方法。调用方法在模版相应输出位置调用并传入参数,分别是插件内添加的识别名和传入的参数多参数传递尚未尝试,将分页动态链接替换为静态链接的示例调用方法如下。
在昨天的开发基础上,阅读了OELOVE的官方宣传介绍文档后,开发出了能够传递参数并实现绝大部分PHP功能的OE插件:大超超OE伪静态助手。
开发思路:主要运用了系统预留的XHook钩子类,由于OE源代码加密无从得之其具体实现方法。
安装方法:将源代码保存为dv_rewrite.php,在/source/plugin/下建立dv_rewrite文件夹,将dv_rewrite.php复制到新建立的文件夹下,然后在后台插件和应用里找到插件列表,启用大超超OE伪静态助手即可。
调用方法:在模版相应输出位置调用XHook::doAction并传入参数,分别是插件内添加的识别名和传入的参数(多参数传递尚未尝试),将分页动态链接替换为静态链接的示例调用方法如下。
插件源代码:
$_GET["s_dist1"]+0, "cityid" => $_GET["s_dist2"]+0 ); // 生成list-type,共用替换函数 $rw_type = dv_rewrite_getSpreadnameById($arr); dv_rewrite_replacePagination($p, $rw_type); } // 向文本后添加第几页(如果有) function dv_rewrite_fixTitle($s){ if( $_GET["page"] ){ $page = "第".$_GET["page"]."页"; // 是标题 if( strpos($s, "-") ){ $tmparr = explode("-", $s); $end = end($tmparr); $tmparr[count($tmparr)-1] = $page."-".$end; $s = join("-", $tmparr); } // 是关键词和描述 else{ $s = $s.",".$page; } } echo $s; } // 根据地区id生成附近地区链接 @ 2014-01-27 15:52:13 function dv_rewrite_generateAreaLinks($provinceid){ $sql = "select areaname,spreadname from ".DB_PREFIX."area where rootid=$provinceid"; $res = mysql_query($sql); while( $r=mysql_fetch_array($res, MYSQL_ASSOC) ){ extract($r); $s .= "".$areaname."*"; } echo $s; } // 添加绑定事件 // 列表页(用户、日记、招聘共用)替换静态链接 XHook::addAction("dv_rewrite_page", "dv_rewrite_replacePagination"); // 详细信息页地区静态链接 XHook::addAction("dv_rewrite_spreadname", "dv_rewrite_spread"); // 地区模版列表替换静态链接 XHook::addAction("dv_rewrite_morepage", "dv_rewrite_locationPagination"); // 分页时便于SEO需要修改标题、关键词和描述 XHook::addAction("dv_rewrite_pageSEO", "dv_rewrite_fixTitle"); // 生成附近地区链接 XHook::addAction("dv_rewrite_arealinks", "dv_rewrite_generateAreaLinks"); ?>
开发这个插件的同时在做一个WEB项目,时间相对较紧迫,难免有些疏忽和不高效之处,欢迎指正。
项目为大,插件为小,开发插件权当练手,一点一点积累基础才能出大成绩,加油。
原文地址:http://www.thinkful.cn/archives/400.html
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/20656.html
摘要:开发思路主要运用了系统预留的钩子类,由于源代码加密无从得之其具体实现方法。调用方法在模版相应输出位置调用并传入参数,分别是插件内添加的识别名和传入的参数多参数传递尚未尝试,将分页动态链接替换为静态链接的示例调用方法如下。 showImg(http://segmentfault.com/img/bVbQby); 在昨天的开发基础上,阅读了OELOVE的官方宣传介绍文档后,开发出了能够传递...
摘要:对系统代码七看八看并且研究的模版标签文档,终于能找出一条路子让模版能调用二次开发的代码利用系统的。参照已有插件系统运行时间的写法,复制开发了一份插件,见下图和后续代码,仅提供此开发思路。 OELOVE是一个核心代码加密了的PHP婚恋交友系统,一站长朋友老早之前就喊我帮他看看一些细小之处未改善好的地方,今天抽出时间帮他看了看。 本以为和往常一样比较简单就能解决问题,结果因为MVC的mo...
摘要:对系统代码七看八看并且研究的模版标签文档,终于能找出一条路子让模版能调用二次开发的代码利用系统的。参照已有插件系统运行时间的写法,复制开发了一份插件,见下图和后续代码,仅提供此开发思路。 OELOVE是一个核心代码加密了的PHP婚恋交友系统,一站长朋友老早之前就喊我帮他看看一些细小之处未改善好的地方,今天抽出时间帮他看了看。 本以为和往常一样比较简单就能解决问题,结果因为MVC的mo...
摘要:准备工作服务器最好使用服务器,小白推荐安装宝塔面板。备案域名小程序账号建议注册企业账号,可以使用已认证的公众号快速创建。七牛账号使用,加快网站访问速度。如需使用小程序发帖,也会用到。注意不要使用以下的。 showImg(https://segmentfault.com/img/bVUUeU?w=600&h=280); 准备工作 1服务器 最好使用Linux服务器,小白推荐安装宝塔面板。...
阅读 4034·2022-09-16 13:49
阅读 1386·2021-11-22 15:12
阅读 1497·2021-09-09 09:33
阅读 1023·2019-08-30 13:15
阅读 1700·2019-08-29 15:30
阅读 615·2019-08-27 10:52
阅读 2627·2019-08-26 17:41
阅读 1858·2019-08-26 12:11