discuz插件
discuz插件,是discuz作為國(guó)內(nèi)最大的論壇類型CMS經(jīng)常使用到的一些功能,因?yàn)槠浔旧砉δ軡M足不了站長(zhǎng)們的需求,所以更多的是通過(guò)discuz插件來(lái)實(shí)現(xiàn)。特別是網(wǎng)站SEO優(yōu)化方面,discuz插件更是通過(guò)研究搜索引擎算法而增加的功能,迎合搜索引擎規(guī)則,促進(jìn)網(wǎng)站的收錄、排名,能夠讓用戶通過(guò)關(guān)鍵詞搜索更能快速發(fā)現(xiàn)站長(zhǎng)們的站點(diǎn),并吸引他們點(diǎn)擊。
discuz安裝完成的操作,會(huì)在jshop_dcommon_syscache里面將siteuniqueid網(wǎng)站唯一標(biāo)識(shí)寫進(jìn)去(插件識(shí)別網(wǎng)站就是靠這個(gè))。jshop_dcommon_syscache 有條數(shù)據(jù)是 cname = setting 通過(guò)以下代碼獲取,里面有個(gè)鍵值 siteuniqueid 可以識(shí)別當(dāng)前網(wǎng)站
<?php
$data = C::t('common_syscache')->fetch('setting');
print_r($data);
//savecache('setting', $data); 用來(lái)保存配置
?>
discuz插件是基于國(guó)內(nèi)通用型論壇程序Discuz!架構(gòu),利用其接口,符合其標(biāo)準(zhǔn),復(fù)用其底層和函數(shù)、類,為了滿足新的需求而制作的新作品。插件一般是利用程序的API(接口),復(fù)用程序底層,利用一些程序既有的函數(shù)和類制作新的作品,一般有文件的增加,且符合標(biāo)準(zhǔn)的插件,其目錄結(jié)構(gòu)和文件名都是有一定格式的(如Discuz!的插件文件需放在plugin目錄下)。
由于基礎(chǔ)(Discuz!)是開源免費(fèi)的,一般的Hack也都是開源免費(fèi)的,許多程序愛好者會(huì)根據(jù)自己或者朋友的需求,去制作一些discuz插件在各個(gè)程序的交流論壇發(fā)布,以獲得站長(zhǎng)們和官方的肯定和鼓勵(lì),這樣的發(fā)展方式更能促進(jìn)網(wǎng)站的發(fā)展。
合理的運(yùn)用discuz插件,會(huì)讓網(wǎng)站功能更強(qiáng)大,用戶使用起來(lái)更為方便,從而達(dá)到用戶體驗(yàn)更好的效果。discuz插件中提供了一個(gè)通用的插件配置管理程序,在大多數(shù)情況下可實(shí)現(xiàn)插件的參數(shù)配置,省卻了插件開發(fā)者自行編寫后臺(tái)管理模塊的麻煩。
通常情況下,應(yīng)優(yōu)先使用通用插件配置管理程序來(lái)實(shí)現(xiàn)插件的參數(shù)配置,只有在通用程序確實(shí)無(wú)法實(shí)現(xiàn)時(shí),才自行編寫后臺(tái)管理模塊。輸入配置名稱和配置變量名、選擇合適的配置類型后,即可為此插件增加一個(gè)配置變量,點(diǎn)詳情可以編輯discuz插件配置變量的更多信息。為了方便插件程序調(diào)用使用者配置好的參數(shù),配置變量同樣被存放在了緩存文件中。
Discuz! 雖然能夠在后臺(tái)修改帖子的排序方式,但卻不能選擇是倒序還是順序排序。為解決這個(gè)問(wèn)題,可采用discuz插件修改辦法:
修改文件source/module/forum/forum_forumdisplay.php,找到 457 行:
$_GET['ascdesc'] = isset($_G['cache']['forums'][$_G['fid']]['ascdesc']) ? $_G['cache']['forums'][$_G['fid']]['ascdesc'] : 'DESC';
在下方加入:
Modified by kookxiang @if($_GET['forceasc']) $_GET['ascdesc'] = 'ASC';
if($_GET['forcedesc']) $_GET['ascdesc'] = 'DESC';
Ending of modification
這樣便能通過(guò) URL 參數(shù) forceasc 和 forcedesc 控制排序了