资讯专栏INFORMATION COLUMN

OELOVE:模版内传参+XHook+PHP开发SEO伪静态插件

duan199226 / 3529人阅读

摘要:开发思路主要运用了系统预留的钩子类,由于源代码加密无从得之其具体实现方法。调用方法在模版相应输出位置调用并传入参数,分别是插件内添加的识别名和传入的参数多参数传递尚未尝试,将分页动态链接替换为静态链接的示例调用方法如下。


在昨天的开发基础上,阅读了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

相关文章

  • OELOVE模版传参+XHook+PHP开发SEO静态插件

    摘要:开发思路主要运用了系统预留的钩子类,由于源代码加密无从得之其具体实现方法。调用方法在模版相应输出位置调用并传入参数,分别是插件内添加的识别名和传入的参数多参数传递尚未尝试,将分页动态链接替换为静态链接的示例调用方法如下。 showImg(http://segmentfault.com/img/bVbQby); 在昨天的开发基础上,阅读了OELOVE的官方宣传介绍文档后,开发出了能够传递...

    gotham 评论0 收藏0
  • OELOVE:婚恋系统的二次开发模版内执行PHP代码

    摘要:对系统代码七看八看并且研究的模版标签文档,终于能找出一条路子让模版能调用二次开发的代码利用系统的。参照已有插件系统运行时间的写法,复制开发了一份插件,见下图和后续代码,仅提供此开发思路。 OELOVE是一个核心代码加密了的PHP婚恋交友系统,一站长朋友老早之前就喊我帮他看看一些细小之处未改善好的地方,今天抽出时间帮他看了看。 本以为和往常一样比较简单就能解决问题,结果因为MVC的mo...

    xiongzenghui 评论0 收藏0
  • OELOVE:婚恋系统的二次开发模版内执行PHP代码

    摘要:对系统代码七看八看并且研究的模版标签文档,终于能找出一条路子让模版能调用二次开发的代码利用系统的。参照已有插件系统运行时间的写法,复制开发了一份插件,见下图和后续代码,仅提供此开发思路。 OELOVE是一个核心代码加密了的PHP婚恋交友系统,一站长朋友老早之前就喊我帮他看看一些细小之处未改善好的地方,今天抽出时间帮他看了看。 本以为和往常一样比较简单就能解决问题,结果因为MVC的mo...

    leonardofed 评论0 收藏0
  • 教你从零开始使用wordpress生成微信小程序(小白版教程)

    摘要:准备工作服务器最好使用服务器,小白推荐安装宝塔面板。备案域名小程序账号建议注册企业账号,可以使用已认证的公众号快速创建。七牛账号使用,加快网站访问速度。如需使用小程序发帖,也会用到。注意不要使用以下的。 showImg(https://segmentfault.com/img/bVUUeU?w=600&h=280); 准备工作 1服务器 最好使用Linux服务器,小白推荐安装宝塔面板。...

    jaysun 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<