摘要:開發(fā)思路主要運(yùn)用了系統(tǒng)預(yù)留的鉤子類,由于源代碼加密無從得之其具體實(shí)現(xiàn)方法。調(diào)用方法在模版相應(yīng)輸出位置調(diào)用并傳入?yún)?shù),分別是插件內(nèi)添加的識(shí)別名和傳入的參數(shù)多參數(shù)傳遞尚未嘗試,將分頁動(dòng)態(tài)鏈接替換為靜態(tài)鏈接的示例調(diào)用方法如下。
在昨天的開發(fā)基礎(chǔ)上,閱讀了OELOVE的官方宣傳介紹文檔后,開發(fā)出了能夠傳遞參數(shù)并實(shí)現(xiàn)絕大部分PHP功能的OE插件:大超超OE偽靜態(tài)助手。
開發(fā)思路:主要運(yùn)用了系統(tǒng)預(yù)留的XHook鉤子類,由于OE源代碼加密無從得之其具體實(shí)現(xiàn)方法。
安裝方法:將源代碼保存為dv_rewrite.php,在/source/plugin/下建立dv_rewrite文件夾,將dv_rewrite.php復(fù)制到新建立的文件夾下,然后在后臺(tái)插件和應(yīng)用里找到插件列表,啟用大超超OE偽靜態(tài)助手即可。
調(diào)用方法:在模版相應(yīng)輸出位置調(diào)用XHook::doAction并傳入?yún)?shù),分別是插件內(nèi)添加的識(shí)別名和傳入的參數(shù)(多參數(shù)傳遞尚未嘗試),將分頁動(dòng)態(tài)鏈接替換為靜態(tài)鏈接的示例調(diào)用方法如下。
插件源代碼:
$_GET["s_dist1"]+0, "cityid" => $_GET["s_dist2"]+0 ); // 生成list-type,共用替換函數(shù) $rw_type = dv_rewrite_getSpreadnameById($arr); dv_rewrite_replacePagination($p, $rw_type); } // 向文本后添加第幾頁(如果有) function dv_rewrite_fixTitle($s){ if( $_GET["page"] ){ $page = "第".$_GET["page"]."頁"; // 是標(biāo)題 if( strpos($s, "-") ){ $tmparr = explode("-", $s); $end = end($tmparr); $tmparr[count($tmparr)-1] = $page."-".$end; $s = join("-", $tmparr); } // 是關(guān)鍵詞和描述 else{ $s = $s.",".$page; } } echo $s; } // 根據(jù)地區(qū)id生成附近地區(qū)鏈接 @ 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; } // 添加綁定事件 // 列表頁(用戶、日記、招聘共用)替換靜態(tài)鏈接 XHook::addAction("dv_rewrite_page", "dv_rewrite_replacePagination"); // 詳細(xì)信息頁地區(qū)靜態(tài)鏈接 XHook::addAction("dv_rewrite_spreadname", "dv_rewrite_spread"); // 地區(qū)模版列表替換靜態(tài)鏈接 XHook::addAction("dv_rewrite_morepage", "dv_rewrite_locationPagination"); // 分頁時(shí)便于SEO需要修改標(biāo)題、關(guān)鍵詞和描述 XHook::addAction("dv_rewrite_pageSEO", "dv_rewrite_fixTitle"); // 生成附近地區(qū)鏈接 XHook::addAction("dv_rewrite_arealinks", "dv_rewrite_generateAreaLinks"); ?>
開發(fā)這個(gè)插件的同時(shí)在做一個(gè)WEB項(xiàng)目,時(shí)間相對(duì)較緊迫,難免有些疏忽和不高效之處,歡迎指正。
項(xiàng)目為大,插件為小,開發(fā)插件權(quán)當(dāng)練手,一點(diǎn)一點(diǎn)積累基礎(chǔ)才能出大成績,加油。
原文地址:http://www.thinkful.cn/archives/400.html
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/11114.html
摘要:開發(fā)思路主要運(yùn)用了系統(tǒng)預(yù)留的鉤子類,由于源代碼加密無從得之其具體實(shí)現(xiàn)方法。調(diào)用方法在模版相應(yīng)輸出位置調(diào)用并傳入?yún)?shù),分別是插件內(nèi)添加的識(shí)別名和傳入的參數(shù)多參數(shù)傳遞尚未嘗試,將分頁動(dòng)態(tài)鏈接替換為靜態(tài)鏈接的示例調(diào)用方法如下。 showImg(http://segmentfault.com/img/bVbQby); 在昨天的開發(fā)基礎(chǔ)上,閱讀了OELOVE的官方宣傳介紹文檔后,開發(fā)出了能夠傳遞...
摘要:對(duì)系統(tǒng)代碼七看八看并且研究的模版標(biāo)簽文檔,終于能找出一條路子讓模版能調(diào)用二次開發(fā)的代碼利用系統(tǒng)的。參照已有插件系統(tǒng)運(yùn)行時(shí)間的寫法,復(fù)制開發(fā)了一份插件,見下圖和后續(xù)代碼,僅提供此開發(fā)思路。 OELOVE是一個(gè)核心代碼加密了的PHP婚戀交友系統(tǒng),一站長朋友老早之前就喊我?guī)退纯匆恍┘?xì)小之處未改善好的地方,今天抽出時(shí)間幫他看了看。 本以為和往常一樣比較簡單就能解決問題,結(jié)果因?yàn)镸VC的mo...
摘要:對(duì)系統(tǒng)代碼七看八看并且研究的模版標(biāo)簽文檔,終于能找出一條路子讓模版能調(diào)用二次開發(fā)的代碼利用系統(tǒng)的。參照已有插件系統(tǒng)運(yùn)行時(shí)間的寫法,復(fù)制開發(fā)了一份插件,見下圖和后續(xù)代碼,僅提供此開發(fā)思路。 OELOVE是一個(gè)核心代碼加密了的PHP婚戀交友系統(tǒng),一站長朋友老早之前就喊我?guī)退纯匆恍┘?xì)小之處未改善好的地方,今天抽出時(shí)間幫他看了看。 本以為和往常一樣比較簡單就能解決問題,結(jié)果因?yàn)镸VC的mo...
摘要:準(zhǔn)備工作服務(wù)器最好使用服務(wù)器,小白推薦安裝寶塔面板。備案域名小程序賬號(hào)建議注冊企業(yè)賬號(hào),可以使用已認(rèn)證的公眾號(hào)快速創(chuàng)建。七牛賬號(hào)使用,加快網(wǎng)站訪問速度。如需使用小程序發(fā)帖,也會(huì)用到。注意不要使用以下的。 showImg(https://segmentfault.com/img/bVUUeU?w=600&h=280); 準(zhǔn)備工作 1服務(wù)器 最好使用Linux服務(wù)器,小白推薦安裝寶塔面板。...
閱讀 3164·2019-08-30 15:55
閱讀 2945·2019-08-30 13:46
閱讀 1447·2019-08-29 17:29
閱讀 3514·2019-08-29 11:08
閱讀 3439·2019-08-29 11:04
閱讀 1088·2019-08-28 18:20
閱讀 545·2019-08-26 13:37
閱讀 1327·2019-08-26 11:49