簡數采集器支持向 Zblog 系統的自定義字段(包括插件、主題擴展字段等)發布數據。
實現此功能需修改插件代碼,具體操作步驟如下:
Zblog系統自定義擴展字段參數,通常是存儲在數據庫zbp_post表的log_Meta參數里,其值的格式為序列化的字符串,比如:
a:3:{s:11:"singletitle";s:9:"111標題";s:14:"artkeywords";s:12:"222關鍵詞";s:17:"artdescription";s:9:"333描述";}
示例中的 singletitle、artkeywords和artdescription為擴展的自定義字段參數名。
查找參數名小技巧:將擴展字段內容設置為易識別的獨特值,或者可嘗試從模板源碼中獲取。
自定義字段的參數名稱各不相同,基本無法通用,需自行修改Zblog采集發布插件代碼進行兼容。
修改方法如下:
1)打開發布插件文件:/zb_users/plugin/keydatas/keydatas_zblog.php;
2)注釋掉原有的log_Meta賦值代碼,在該行前面添加//即可注釋:(約在127行)
//$log_Meta = isset($_POST['log_Meta']) ? $_POST['log_Meta'] : '';
3)在注釋代碼下方添加以下代碼片段,例如要發布的自定義字段參數名稱為 artkeywords 和 artdescription:
//接收自定義字段數據標準寫法,變量名稱(如$artkeywords 和 $artdescription)可自由命名;
// 'artkeywords' 和 'artdescription' 替換為實際要使用的自定義字段參數名;
$artkeywords = isset($_POST['artkeywords']) ? $_POST['artkeywords'] : '';
$artdescription = isset($_POST['artdescription']) ? $_POST['artdescription'] : '';
//注意替換掉下行代碼中的 $artkeywords 變量,換成必填的擴展字段變量
//當必填字段不為空時,則組合所有擴展字段并做序列化處理
if (!empty($artkeywords)) {
$extraArr = [ "artkeywords" => $artkeywords,
"artdescription" => $artdescription ];
$log_Meta = serialize($extraArr);
}
在簡數發送目標第三步擴展參數,添加自定義擴展字段的參數名,并且映射要發送的采集內容。
沿用前面修改代碼的示例,填寫的參數名為 artkeywords 和 artdescription 。