摘要:開發(fā)思路主要運用了系統(tǒng)預留的鉤子類,由于源代碼加密無從得之其具體實現(xiàn)方法。調用方法在模版相應輸出位置調用并傳入?yún)?shù),分別是插件內添加的識別名和傳入的參數(shù)多參數(shù)傳遞尚未嘗試,將分頁動態(tài)鏈接替換為靜態(tài)鏈接的示例調用方法如下。
在昨天的開發(fā)基礎上,閱讀了OELOVE的官方宣傳介紹文檔后,開發(fā)出了能夠傳遞參數(shù)并實現(xiàn)絕大部分PHP功能的OE插件:大超超OE偽靜態(tài)助手。
開發(fā)思路:主要運用了系統(tǒng)預留的XHook鉤子類,由于OE源代碼加密無從得之其具體實現(xiàn)方法。
安裝方法:將源代碼保存為dv_rewrite.php,在/source/plugin/下建立dv_rewrite文件夾,將dv_rewrite.php復制到新建立的文件夾下,然后在后臺插件和應用里找到插件列表,啟用大超超OE偽靜態(tài)助手即可。
調用方法:在模版相應輸出位置調用XHook::doAction并傳入?yún)?shù),分別是插件內添加的識別名和傳入的參數(shù)(多參數(shù)傳遞尚未嘗試),將分頁動態(tài)鏈接替換為靜態(tài)鏈接的示例調用方法如下。
插件源代碼:
$_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"]."頁"; // 是標題 if( strpos($s, "-") ){ $tmparr = explode("-", $s); $end = end($tmparr); $tmparr[count($tmparr)-1] = $page."-".$end; $s = join("-", $tmparr); } // 是關鍵詞和描述 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"); // 詳細信息頁地區(qū)靜態(tài)鏈接 XHook::addAction("dv_rewrite_spreadname", "dv_rewrite_spread"); // 地區(qū)模版列表替換靜態(tài)鏈接 XHook::addAction("dv_rewrite_morepage", "dv_rewrite_locationPagination"); // 分頁時便于SEO需要修改標題、關鍵詞和描述 XHook::addAction("dv_rewrite_pageSEO", "dv_rewrite_fixTitle"); // 生成附近地區(qū)鏈接 XHook::addAction("dv_rewrite_arealinks", "dv_rewrite_generateAreaLinks"); ?>
開發(fā)這個插件的同時在做一個WEB項目,時間相對較緊迫,難免有些疏忽和不高效之處,歡迎指正。
項目為大,插件為小,開發(fā)插件權當練手,一點一點積累基礎才能出大成績,加油。
原文地址:http://www.thinkful.cn/archives/400.html
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/20656.html
摘要:開發(fā)思路主要運用了系統(tǒng)預留的鉤子類,由于源代碼加密無從得之其具體實現(xiàn)方法。調用方法在模版相應輸出位置調用并傳入?yún)?shù),分別是插件內添加的識別名和傳入的參數(shù)多參數(shù)傳遞尚未嘗試,將分頁動態(tài)鏈接替換為靜態(tài)鏈接的示例調用方法如下。 showImg(http://segmentfault.com/img/bVbQby); 在昨天的開發(fā)基礎上,閱讀了OELOVE的官方宣傳介紹文檔后,開發(fā)出了能夠傳遞...
摘要:對系統(tǒng)代碼七看八看并且研究的模版標簽文檔,終于能找出一條路子讓模版能調用二次開發(fā)的代碼利用系統(tǒng)的。參照已有插件系統(tǒng)運行時間的寫法,復制開發(fā)了一份插件,見下圖和后續(xù)代碼,僅提供此開發(fā)思路。 OELOVE是一個核心代碼加密了的PHP婚戀交友系統(tǒng),一站長朋友老早之前就喊我?guī)退纯匆恍┘毿≈幬锤纳坪玫牡胤剑裉斐槌鰰r間幫他看了看。 本以為和往常一樣比較簡單就能解決問題,結果因為MVC的mo...
摘要:對系統(tǒng)代碼七看八看并且研究的模版標簽文檔,終于能找出一條路子讓模版能調用二次開發(fā)的代碼利用系統(tǒng)的。參照已有插件系統(tǒng)運行時間的寫法,復制開發(fā)了一份插件,見下圖和后續(xù)代碼,僅提供此開發(fā)思路。 OELOVE是一個核心代碼加密了的PHP婚戀交友系統(tǒng),一站長朋友老早之前就喊我?guī)退纯匆恍┘毿≈幬锤纳坪玫牡胤剑裉斐槌鰰r間幫他看了看。 本以為和往常一樣比較簡單就能解決問題,結果因為MVC的mo...
摘要:準備工作服務器最好使用服務器,小白推薦安裝寶塔面板。備案域名小程序賬號建議注冊企業(yè)賬號,可以使用已認證的公眾號快速創(chuàng)建。七牛賬號使用,加快網(wǎng)站訪問速度。如需使用小程序發(fā)帖,也會用到。注意不要使用以下的。 showImg(https://segmentfault.com/img/bVUUeU?w=600&h=280); 準備工作 1服務器 最好使用Linux服務器,小白推薦安裝寶塔面板。...
閱讀 4122·2022-09-16 13:49
閱讀 1398·2021-11-22 15:12
閱讀 1519·2021-09-09 09:33
閱讀 1039·2019-08-30 13:15
閱讀 1720·2019-08-29 15:30
閱讀 654·2019-08-27 10:52
閱讀 2643·2019-08-26 17:41
閱讀 1896·2019-08-26 12:11