最近公司在開發一個基于discuz二次開發的產品,以前沒詳細的接觸過過discuz的產品,發現跪的地方不少,自己總結一下,隨時更新.
所有的二次開發的功能,都是基于插件完成的,這樣有很多好處,后續的升級和維護都控制在比較小的范圍內,基本上自己的總結也是基于這一塊的.
1、語言包
首先每個插件都有自己的語言包,通過lang('plugin/插件名',鍵名)調用,把官網的東西掃了一遍,很多地方很模糊,找個積分商城的插件研究一下,為啥找積分商城,因為他和我們要開發的功能有很多重合的地方,研究他的插件的時候,每每調用語言包的時候找到lang這個函數,在function_core中,發現不是存在文件中,而是存common_syscache表中,更坑的竟然是二進制.
SELECT CONVERT(data USING utf8) FROM pre_common_syscache where 1;//Vevb.com
可以查看一下字符串是啥,但是比較麻煩。
直接找到文件,改寫一下,寫入到文件這樣查找起來也比較容易.
file_put_contents('lang',var_export($_G['cache']['pluginlanguage_script']),true);
|
新聞熱點
疑難解答