DZ插件制作简易入门教程(自学手记)第一篇
看了Maple-x和泡哥寫的那兩篇插件制作教程,還是讓我如云里霧里。后經仔細研究插件實例,總算有所收獲,但彎路走了不少。為避免后來者重蹈覆轍,在此總結成文,算做個筆記好了。
就用最經典的項目名稱Hello Word!來講。
效果圖:
?
第一步 建立相關文件及目錄結構
1.1 隨便在那里建立一個新文件夾。
1.2 在建立好的新文件夾里按下圖結構和名稱建立子目錄和文件。
?
*文件先用記事本建立空的文本文件然后改名就可以了,以后再編輯這些文件的內容。
*改名的時候注意調整系統的文件夾選項不要隱藏文件擴展名。
第二步 在后臺系統設置里添加插件的相關信息
2.1 進后臺->擴展->論壇插件->管理,按圖填寫相關內容并提交。
?
*唯一標識符不要有空格和標點符號。
2.2 勾上“可用”后再提交一次,然后點最后邊的“詳情”進入下一步。
?
2.3 設置插件詳細信息,設置好后點擊提交,然后點擊本頁頭部的“模塊”進入下一步。
?
*版權信息填你自己想填的內容^_^,不一定要跟我的一樣
*插件目錄的名字要與第一步里建立的文件夾中/plugins/下的文件夾名稱一致,本例中為helloworld。
*插件目錄末尾要加“/”,參照上圖。
*因為暫時沒有用到數據庫,所以插件數據表為空。
*插件描述隨便填不填、填什么都可以。
2.4 設置模塊信息,提交。
?
*程序模塊要與第一步里建立的文件夾中/plugins/helloworld/下的*.inc.php文件的名稱一致。本例中為helloworld。
*菜單名稱就是將來在論壇頁面上顯示的標簽的名字,一定要填,不然標簽顯示不出來。
*模塊類型有好幾種,詳細介紹請參見DZ論壇用戶手冊。本例中選“前臺調用(前臺菜單)”。
*使用等級即該模塊(或“頁面”)的訪問權限,自酌。
2.5 如果一切順利,現在插件管理里面就出現設定好的插件了。
?
*如果要調整什么參數,點“管理”->相應插件的“詳細”。
第三步 編輯插件文件內容,實現插件功能
3.1 編輯模版文件hw_helloworld.htm的內容并保存,參考如下:
*模版文件是插件全部的樣子或界面,也就是你的插件將以什么樣的面貌呈現在用戶的瀏覽器中。
*模版文件實際上是插件程序模塊的一部分,通過在程序模塊(*.inc.php)中include()發揮作用。單獨把模版從程序模塊中分離出來是為了方便應用論壇的樣式。如果對編程比較熟悉的話,這個和C++中.form文件和.CPP文件的關系有點類似。
*本例中,模版文件hw_helloworld.htm首行{template header}的和最后一行的{template footer},分別引用了論壇的header和footer模版,代碼第3行加入了導航條,也就是說,插件將在論壇頁面中間部分出現,好像“插”在論壇里一樣^_^。如果刪除{template header}和{template footer},則頁面將以很獨立的面貌呈現,好像跟論壇一點關系也沒有一樣。
*本例的模版文件包含了最基本元素,替換里面表格的內容就可以做出想要的插件界面。
*模版文件后綴名是.htm,所以可以像普通htm頁面一樣用javascript來實現一些頁面元素的動態化。如果在里面用<? ... ?>是不能被解釋執行的,因為前面說過,模版文件要發揮作用,要在程序模塊文件中include(),在PHP程序段里再引用PHP能不出錯嗎?也正是因為這一點,在模版文件里可以不用加<?...?>標記直接引用PHP的變量值。這其實就夠了,因為模版文件其實就是用來處理表單提交和數據反饋用的,這也是PHP程序強大的地方。
*基于上一點,我們在第13行,引入一個$say_string,具體見下一步。
3.2 編輯插件程序模塊文件helloworld.inc.php并保存,參考內容:
*第1行到第8行是與論壇安全相關的語句,一定要寫!DZ論壇的插件沒有不寫這幾句的。
*第10行是載入插件頁面緩存,提高執行效率。
*第12行,定義一個$say_string字符串變量,賦值“Hello World!”,插件運行以后,這個值就通過模版文件顯示出來了。
*第14行,將模版文件包含進來,讓程序模塊這個靈魂能有一個軀殼^_^。為了防止一些莫名其妙的錯誤,習慣性的將模版的include()放在最后。
*程序模塊文件helloworld.inc.php是插件程序的起點,調用它的是論壇的plugin.php。打個比方,plugin.php是傳送帶,只要論壇在運行,這個傳送帶就在轉。我們只是把我們的插件放到了這個傳送帶上一起運轉。
3.3 保存好所有文件,將plugins和templates用FTP上傳,或直接Copy到論壇文件根目錄下。
3.4 確保在后臺 界面->界面設置->導航欄 啟用了“插件”, 在 擴展->論壇插件->管理 啟用了對應插件,清除一下緩存,刷新論壇首頁,就能看到結果了。
最后,總結一下我理解的DZ論壇插件的運行機理與文件間邏輯關系圖:
?
模版文件我用了前綴hw_是為了以后擴展模版,因為可以通過程序模塊根據條件裝載不同的模版,這個以后再說吧。
今天就先寫到這里。
?
海口論壇?http://www.souhaikou.com
海口同城微博? http://t.souhaikou.com
總結
以上是生活随笔為你收集整理的DZ插件制作简易入门教程(自学手记)第一篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机工程与科学外审费,《计算机工程与设
- 下一篇: 关于Chrome的广告和弹窗拦截插件