-
作者帖子
-
1 、版本及文件包分類
- 分支版本:
分支版本是指您應用的多個共存版本,如 「免費版」 、 「收費版」 、 「**** GBK」 、 「**** UTF8」 、 「**** PHP≤5.2」 、 「**** PHP≥5.3」 。文件包結構請閲讀下方的 「3 、文件包結構」 。分支版本的文件包將通過站點的 Discuz! 管理中心在線安裝。 - 擴展組件:
擴展組件是指您應用的部分文件,其中不能包含應用的安裝腳本 (如插件和模板的安裝 XML),通過組件可以讓您的應用實現模塊化發佈,如提供 「免費版 + 收費模塊」 、 「試用版 + 正式版模塊」 。文件包結構請閲讀下方的 「3 、文件包結構」 。擴展組件的文件包將通過站點的 Discuz! 管理中心在線安裝,但只有安裝過分支版本的站點才可安裝擴展組件。 - 下載資料:
下載資料是指您可提供給站長直接下載的文件,其中不能包含應用的源碼,通過資料可以向站長提供説明書、圖片源文件、素材、 DIY 配置、分類信息配置等文件。文件包結構不限制。下載資料的文件包站長可直接下載。
2 、基本要求及安全規範
[以下內容僅限分支版本和擴展組件文件包]
3 、文件包結構
- 插件類型的應用基準目錄為 /source/plugin/(插件目錄)
模板類型的應用基準目錄為 /template/(模板目錄)
擴展類型的應用基準目錄為 /(根目錄) - 壓縮包中的根文件夾有且只有一個文件夾,文件夾名和插件標識 (模板標識、擴展標識) 相同,在此文件夾中存放應用的全部文件。簡單來説,應用的打包您只需對基準目錄下的您的應用目錄點擊鼠標右鍵選擇壓縮即可。
- 對於上傳的插件,平台將提供自動編碼轉換服務。您只需在上傳的壓縮包中包含簡體 GBK 版本的 discuz_plugin_pluginid.xml 文件,那麼在插件審核通過並上線後,平台會自動對下載的安裝包中生成以下文件:擴展組件類的文件包和分支版本類的文件包結構相同,唯一區別就是禁止攜帶插件或風格的安裝腳本 xml 文件。
- discuz_plugin_pluginid_SC_GBK.xml (簡體 GBK)
- discuz_plugin_pluginid_SC_UTF8.xml (簡體 UTF8)
- discuz_plugin_pluginid_TC_UTF8.xml (繁體 UTF8)
- discuz_plugin_pluginid_TC_BIG5.xml (繁體 BIG5)
如果您不希望平台為您轉換編碼,請不要在上傳的壓縮包中包含 discuz_plugin_pluginid.xml 文件,直接包含帶編碼後綴的 discuz_plugin_pluginid_*.xml 文件即可。
- 下載資料類的文件包結構不限制,但不允許攜帶應用源碼。
4 、動態變量
上傳的文件中可通過加入以下動態變量,此變量將在站長安裝應用時自動替換成相應的值。
變量標識 (系統變量) 含義 {ADDONVAR:SN} 序列號,應用版本和網站綁定的唯一識別碼 {ADDONVAR:RevisionID} 應用版本的 ID {ADDONVAR:RevisionDateline} 應用版本的發佈時間 {ADDONVAR:SiteUrl} 站點 URL {ADDONVAR:ClientUrl} 客户端 URL {ADDONVAR:SiteID} 站點 ID {ADDONVAR:QQID} 站點綁定的 QQID(非 QQ 號,只有綁定的站點有值) {ADDONVAR:MyKey} 自定義動態變量 (添加方法見下面的 「應用發佈配置文件」) {ADDONVAR:MD5(***)} 以上值的 MD5,自定義組合 (*** 為以上值的名稱,用逗號分隔) 5 、應用發佈配置文件
應用發佈配置文件的文件名為 config.xml,位於壓縮包中的根目錄,此文件非必需。配置文件的格式如下:
<?xml version="1.0" encoding="ISO-8859-1"?> <root> <item id="Title"><![CDATA[Discuz! Addon Config]]></item> <item id="Data"> <item id="設置項 1"> 設置項 1 內容 ... </item> <item id="設置項 2"> 設置項 2 內容 ... </item> ... </item> </root>
設置項有如下內容:
var: 自定義動態變量
用於擴展自定義動態變量,即 {ADDONVAR:MyKey} 的項目,格式如下:<item id="var"> <item id="MyKey1"><![CDATA[MyValue1]]></item> <item id="MyKey2"><![CDATA[MyValue2]]></item> ... </item>
設置項變量 含義 MyKey 變量名必須由字母、數字及下劃線組成,且不能使用系統變量 MyValue 變量返回值內容不限制。如果返回值為一個網址,表示變量返回值為 API 返回的內容,API 將在每次應用安裝時被調用。調用時,所有系統變量將通過 POST 方式提交給 API zend: Zend 加密請求
請求開放平台協助加密指定的 PHP 腳本。如果您的開發者身份無此權限請不要包含此配置項,模板的主體文件不支持 Zend 加密。格式如下:<item id="zend"> <item id="method"><![CDATA[加密方式]]></item> <item id="expires"><![CDATA[有效期]]></item> <item id="files"><![CDATA[文件列表]]></item> </item>
設置項變量 含義 method 開放平台使用的加密方式
zendenc52: 表示使用 PHP≤5.2 的方式加密
zendenc53: 表示使用 PHP≥5.3 的方式加密expires 加密腳本的使用有效期,單位為天,從審核通過後的日期開始計時。省略或 0 表示腳本永久有效 obfuscation 代碼混淆級別。省略或 0 表示不混淆 (慎用此功能,請在本地測試好後再上傳) files 需要加密的腳本列表,每行寫一個腳本名稱,如 「myrepeats.class.php」 、 「table/table_myrepeats.php」 。包含動態變量的腳本不可被加密 language: 附屬語言包 New!
請求開放平台使用自動編碼轉換服務轉換指定的 PHP 腳本,只負責轉換一個 PHP 腳本,此腳本中的漢字必須是簡體 GBK 編碼。腳本將在應用審核通過並上線後被刪除,並會自動對此生成以下文件:- language.php (指定的 PHP 腳本,審核後將被刪除)
- language.SC_GBK.php (簡體 GBK)
- language.SC_UTF8.php (簡體 UTF8)
- language.TC_UTF8.php (繁體 UTF8)
- language.TC_BIG5.php (繁體 BIG5)
格式如下:
<item id="language"><![CDATA[附屬語言包 PHP 腳本文件名]]></item>
友情提示:Discuz! X2.5 開始可用 currentlang() 函數獲取網站 Discuz! 的語言編碼,如下:
$language = 'language.'.currentlang().'.php';
6 、範例
如有不明白的開發者可以下載範例文件包 或者 安裝 「應用配置文件演示」 應用,以瞭解您需要上傳給開放平台的文件包結構。
沒錯,我就是——美貌與智慧並重,英雄與俠義的化身,存在的意義就是消滅零回覆!
為什麼我會出現在這裏:
1 、時間過長、此貼發佈時間太長,且未收到相關回復;
2 、水貼、單純的發表見解,尚未收到相關回復;
3 、不支持或未解決的問題,無法回應或未收到相關回復
如有與之相關的問題,請發表新話題進行討論。
- 分支版本:
-
作者帖子
- 板塊 「舊貼存檔」 已關閉,不接受新話題和回覆。