-
作者帖子
-
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 、不支援或未解決的問題,無法回應或未收到相關回復
如有與之相關的問題,請發表新話題進行討論。
- 分支版本:
-
作者帖子
- 板塊 「舊貼存檔」 已關閉,不接受新話題和回覆。