上節建立裸插件,本節實現 activate()/deactivate() 返回友好提示,並通過 config() 方法構建後台配置面板,保存百度站長 API 接口調用地址。
public static function activate() {
return '插件安裝成功,請進入設置填寫准入密鑰';
}
public static function deactivate() {
return '插件卸載成功';
}
返回字符串將在後台操作彈窗顯示。
public static function config(Typecho_Widget_Helper_Form $form) {
// 保存接口調用地址
$element = new Typecho_Widget_Helper_Form_Element_Text(
'api', // name: 表單字段名,對應數據庫 option 鍵
null, // options: 下拉選項(文本框無需)
null, // value: 默認值
_t('接口調用地址'), // label: 顯示標題
'請登錄百度站長平台獲取' // description: 說明文字
);
$form->addInput($element);
}
public function __construct(
$name = null, // 表單輸入項名稱(鍵)
array $options = null, // 選擇項(select/radio/checkbox 用)
$value = null, // 默認值
$label = null, // 顯示標題
$description = null // 描述說明
)
| 類名 | 用途 |
|---|---|
Typecho_Widget_Helper_Form_Element_Text | 單行文本框 |
Typecho_Widget_Helper_Form_Element_Textarea | 多行文本域 |
Typecho_Widget_Helper_Form_Element_Select | 下拉選框 |
Typecho_Widget_Helper_Form_Element_Radio | 單選框組 |
Typecho_Widget_Helper_Form_Element_Checkbox | 複選框組 |
Typecho_Widget_Helper_Form_Element_Hidden | 隱藏域 |
Typecho_Widget_Helper_Form_Element_Password | 密碼框 |
name 後必須禁用再啟用才生效。Typecho_Widget_Helper_Form_Element_Fake 為佔位元素,無實際輸入,一般不直接使用。var/Widget/Plugins/Edit.php。配置面板實現極簡:實例化元素 → $form->addInput(),Typecho 自動處理保存、讀取、CSRF 防護、權限校驗。