日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

DZ插件制作简易入门教程(自学手记)第一篇

發(fā)布時(shí)間:2023/12/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DZ插件制作简易入门教程(自学手记)第一篇 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

看了Maple-x和泡哥寫(xiě)的那兩篇插件制作教程,還是讓我如云里霧里。后經(jīng)仔細(xì)研究插件實(shí)例,總算有所收獲,但彎路走了不少。為避免后來(lái)者重蹈覆轍,在此總結(jié)成文,算做個(gè)筆記好了。

就用最經(jīng)典的項(xiàng)目名稱(chēng)Hello Word!來(lái)講。
效果圖:
?



第一步 建立相關(guān)文件及目錄結(jié)構(gòu)
1.1 隨便在那里建立一個(gè)新文件夾。

1.2 在建立好的新文件夾里按下圖結(jié)構(gòu)和名稱(chēng)建立子目錄和文件。
?
  *文件先用記事本建立空的文本文件然后改名就可以了,以后再編輯這些文件的內(nèi)容。
  *改名的時(shí)候注意調(diào)整系統(tǒng)的文件夾選項(xiàng)不要隱藏文件擴(kuò)展名。

第二步 在后臺(tái)系統(tǒng)設(shè)置里添加插件的相關(guān)信息
2.1 進(jìn)后臺(tái)->擴(kuò)展->論壇插件->管理,按圖填寫(xiě)相關(guān)內(nèi)容并提交。
?
  *唯一標(biāo)識(shí)符不要有空格和標(biāo)點(diǎn)符號(hào)。

2.2 勾上“可用”后再提交一次,然后點(diǎn)最后邊的“詳情”進(jìn)入下一步。
?
2.3 設(shè)置插件詳細(xì)信息,設(shè)置好后點(diǎn)擊提交,然后點(diǎn)擊本頁(yè)頭部的“模塊”進(jìn)入下一步。
?
  *版權(quán)信息填你自己想填的內(nèi)容^_^,不一定要跟我的一樣
  *插件目錄的名字要與第一步里建立的文件夾中/plugins/下的文件夾名稱(chēng)一致,本例中為helloworld。
  *插件目錄末尾要加“/”,參照上圖。
  *因?yàn)闀簳r(shí)沒(méi)有用到數(shù)據(jù)庫(kù),所以插件數(shù)據(jù)表為空。
  *插件描述隨便填不填、填什么都可以。

2.4 設(shè)置模塊信息,提交。
?
  *程序模塊要與第一步里建立的文件夾中/plugins/helloworld/下的*.inc.php文件的名稱(chēng)一致。本例中為helloworld。
  *菜單名稱(chēng)就是將來(lái)在論壇頁(yè)面上顯示的標(biāo)簽的名字,一定要填,不然標(biāo)簽顯示不出來(lái)。
  *模塊類(lèi)型有好幾種,詳細(xì)介紹請(qǐng)參見(jiàn)DZ論壇用戶(hù)手冊(cè)。本例中選“前臺(tái)調(diào)用(前臺(tái)菜單)”。
  *使用等級(jí)即該模塊(或“頁(yè)面”)的訪(fǎng)問(wèn)權(quán)限,自酌。

2.5 如果一切順利,現(xiàn)在插件管理里面就出現(xiàn)設(shè)定好的插件了。
?
  *如果要調(diào)整什么參數(shù),點(diǎn)“管理”->相應(yīng)插件的“詳細(xì)”。

第三步 編輯插件文件內(nèi)容,實(shí)現(xiàn)插件功能
3.1 編輯模版文件hw_helloworld.htm的內(nèi)容并保存,參考如下:

  • {template header}

  • <div id="nav"><a href="$indexname">$bbname</a></div>
  • <div style="width:960px;??background-color:#FFF;">
  • <div class="mainbox">

  • <table align="center" cellpadding="5">
  • ??<tr>
  • ? ? <td bgcolor="#999999">打個(gè)招呼~(yú)</td>
  • ??</tr>
  • ??<tr>
  • ? ? <td height="265"><div align="center">$say_string</div></td>
  • ??</tr>
  • </table>


  • </div></div>

  • {template footer}
  • 復(fù)制代碼

      *模版文件是插件全部的樣子或界面,也就是你的插件將以什么樣的面貌呈現(xiàn)在用戶(hù)的瀏覽器中。
      *模版文件實(shí)際上是插件程序模塊的一部分,通過(guò)在程序模塊(*.inc.php)中include()發(fā)揮作用。單獨(dú)把模版從程序模塊中分離出來(lái)是為了方便應(yīng)用論壇的樣式。如果對(duì)編程比較熟悉的話(huà),這個(gè)和C++中.form文件和.CPP文件的關(guān)系有點(diǎn)類(lèi)似。
      *本例中,模版文件hw_helloworld.htm首行{template header}的和最后一行的{template footer},分別引用了論壇的header和footer模版,代碼第3行加入了導(dǎo)航條,也就是說(shuō),插件將在論壇頁(yè)面中間部分出現(xiàn),好像“插”在論壇里一樣^(guān)_^。如果刪除{template header}和{template footer},則頁(yè)面將以很獨(dú)立的面貌呈現(xiàn),好像跟論壇一點(diǎn)關(guān)系也沒(méi)有一樣。
      *本例的模版文件包含了最基本元素,替換里面表格的內(nèi)容就可以做出想要的插件界面。
      *模版文件后綴名是.htm,所以可以像普通htm頁(yè)面一樣用javascript來(lái)實(shí)現(xiàn)一些頁(yè)面元素的動(dòng)態(tài)化。如果在里面用<? ... ?>是不能被解釋執(zhí)行的,因?yàn)榍懊嬲f(shuō)過(guò),模版文件要發(fā)揮作用,要在程序模塊文件中include(),在PHP程序段里再引用PHP能不出錯(cuò)嗎?也正是因?yàn)檫@一點(diǎn),在模版文件里可以不用加<?...?>標(biāo)記直接引用PHP的變量值。這其實(shí)就夠了,因?yàn)槟0嫖募鋵?shí)就是用來(lái)處理表單提交和數(shù)據(jù)反饋用的,這也是PHP程序強(qiáng)大的地方。
      *基于上一點(diǎn),我們?cè)诘?3行,引入一個(gè)$say_string,具體見(jiàn)下一步。

    3.2 編輯插件程序模塊文件helloworld.inc.php并保存,參考內(nèi)容:

  • <?
  • if(!defined('IN_DISCUZ')) {
  • ? ? ? ? exit('Access Denied');
  • }

  • if(!$discuz_uid) {
  • ? ? ? ? showmessage('not_loggedin', null, 'NOPERM');
  • }

  • include DISCUZ_ROOT.'./forumdata/cache/plugin_'.$identifier.'.php';

  • $say_string = 'Hello World!' ;

  • include template('hw_helloworld');

  • ?>
  • 復(fù)制代碼

      *第1行到第8行是與論壇安全相關(guān)的語(yǔ)句,一定要寫(xiě)!DZ論壇的插件沒(méi)有不寫(xiě)這幾句的。
      *第10行是載入插件頁(yè)面緩存,提高執(zhí)行效率。
      *第12行,定義一個(gè)$say_string字符串變量,賦值“Hello World!”,插件運(yùn)行以后,這個(gè)值就通過(guò)模版文件顯示出來(lái)了。
      *第14行,將模版文件包含進(jìn)來(lái),讓程序模塊這個(gè)靈魂能有一個(gè)軀殼^_^。為了防止一些莫名其妙的錯(cuò)誤,習(xí)慣性的將模版的include()放在最后。
      *程序模塊文件helloworld.inc.php是插件程序的起點(diǎn),調(diào)用它的是論壇的plugin.php。打個(gè)比方,plugin.php是傳送帶,只要論壇在運(yùn)行,這個(gè)傳送帶就在轉(zhuǎn)。我們只是把我們的插件放到了這個(gè)傳送帶上一起運(yùn)轉(zhuǎn)。

    3.3 保存好所有文件,將plugins和templates用FTP上傳,或直接Copy到論壇文件根目錄下。

    3.4 確保在后臺(tái) 界面->界面設(shè)置->導(dǎo)航欄 啟用了“插件”, 在 擴(kuò)展->論壇插件->管理 啟用了對(duì)應(yīng)插件,清除一下緩存,刷新論壇首頁(yè),就能看到結(jié)果了。


    最后,總結(jié)一下我理解的DZ論壇插件的運(yùn)行機(jī)理與文件間邏輯關(guān)系圖:

    ?


    模版文件我用了前綴hw_是為了以后擴(kuò)展模版,因?yàn)榭梢酝ㄟ^(guò)程序模塊根據(jù)條件裝載不同的模版,這個(gè)以后再說(shuō)吧。

    今天就先寫(xiě)到這里。

    ?

    海口論壇?http://www.souhaikou.com

    海口同城微博? http://t.souhaikou.com

    總結(jié)

    以上是生活随笔為你收集整理的DZ插件制作简易入门教程(自学手记)第一篇的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。