如果插件需要后臺顯示,可以在快速創建插件步驟里,勾上‘是否需要后臺列表’,然后配置下列表顯示需要的數組參數,如果需要制定模板,可以寫下custom_adminlist文本域,指定列表頁的模板。然后可以在那里二次開發,比如弄個彈窗更新部分數據什么的。
這個你們可以將Attachement 附件 插件的那個custom_adminlist屬性去了看有顯示,加上也有顯示。 具體實現可以看AddonsController里的adminlist方法和對應模板。
插件后臺里的新增、更新頁面后的跳轉地址可以通過cookie('__forward__')去獲取后臺列表的url。
插件不一定有設置頁面。必須插件目錄里有一個config.php并且返回一個非空的數組才會顯示。設置頁里有顯示。
拿Editor插件的配置文件舉列子:
~~~
<?php
// +----------------------------------------------------------------------
// | OneThink [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: yangweijie <yangweijiester@gmail.com> <code-tech.diandian.com>
// +----------------------------------------------------------------------
return array(
'editor_type'=>array(
'title'=>'編輯器類型:',
'type'=>'select',
'options'=>array(
'1'=>'普通文本',
'2'=>'富文本',
'3'=>'UBB解析',
'4'=>'Markdown編輯器'
),
'value'=>'1',
),
'editor_wysiwyg'=>array(
'title'=>'富文本編輯器:',
'type'=>'select',
'options'=>array(
'1'=>'Kindeditor',
'2'=>'Ueditor(百度編輯器)',
),
'value'=>1
),
'editor_height'=>array(
'title'=>'編輯器高度:',
'type'=>'text',
'value'=>'300px'
),
'editor_resize_type'=>array(
'title'=>'是否允許拖拉編輯器',
'type'=>'radio',
'options'=>array(
'0'=>'不允許',
'1'=>'允許'
),
'value'=>'1',
'tip'=>'ubb和markdown編輯器不支持此功能'
),
);
~~~
數組的每個鍵都對應一個form表單。鍵名就是配置里會顯示的表單名 并且為了防止沖突加了前綴 ,比如上面的editor_type 會顯示為
config[editor_type]。title是字段前面的標識字。type是form標準的type,出了一個擴展的group。待會單獨講group。然后有多個選項的會有options鍵和值是相應選項的數組。值里每個鍵是選項的value后面的值是顯示的label文字。value字段是該表單項的默認值。 tip是表單項里面的灰色提示文字。
效果圖如下:

實際解析的方法在Admin/View/Addons/config.html里。
Group類型是我為了插件中會去配置多個同類型事物的配置,每次要加前綴導致的混亂。正好用到后臺的tab。 每個group里值options就是多個配置分組tab。然后分組顯示名是其title。然后options里是每個配置的復合數組。那個寫法和之前單獨的配置一樣。 代碼如下:
~~~
return array(
'comment_type'=>array(//配置在表單中的鍵名 ,這個會是config[random]
'title'=>'使用類型:', //表單的文字
'type'=>'select', //表單的類型:text、textarea、checkbox、radio、select等
'options'=>array( //select 和radion、checkbox的子選項
'1'=>'有言', //值=>文字
'2'=>'多說',
),
'value'=>'1', //表單的默認值
),
'group'=>array(
'type'=>'group',
'options'=>array(
'youyan'=>array(
'title'=>'友言配置',
'options'=>array(
'comment_uid_youyan'=>array(
'title'=>'賬號id:',
'type'=>'text',
'value'=>'90040',
'tip'=>'填寫自己登錄友言后的uid,填寫后可進相應官方后臺'
),
)
),
'duoshuo'=>array(
'title'=>'多說配置',
'options'=>array(
'comment_short_name_duoshuo'=>array(
'title'=>'短域名',
'type'=>'text',
'value'=>'',
'tip'=>'每個站點一個域名'
),
'comment_form_pos_duoshuo'=>array(
'title'=>'表單位置:',
'type'=>'radio',
'options'=>array(
'top'=>'頂部',
'buttom'=>'底部'
),
'value'=>'buttom'
),
'comment_data_list_duoshuo'=>array(
'title'=>'單頁顯示評論數',
'type'=>'text',
'value'=>'10'
),
'comment_data_order_duoshuo'=>array(
'title'=>'評論顯示順序',
'type'=>'radio',
'options'=>array(
'asc'=>'從舊到新',
'desc'=>'從新到舊'
),
'value'=>'asc'
)
)
)
)
)
);
~~~
當然如果你覺的這樣解析不夠你的效果。你可以在Addons定義類里加個custom_config屬性。其值是配置頁會包含的模板。然后你可以使用各種js特效樣式了。這個可以看返回頂部的配置頁(wwwroot/Addons/ReturnTop/config.html)。
插件配置自定義,只需要輸出中間的表單即可。當然可以帶上js。在次自定義模板中可以輸出的是$data。
$data[config]是所有的從配置數組和數據庫合并過的數組。模板里{$data.config.name.value}是輸出配置項里name的那個表單項的值。
- 準備
- 概覽
- 獲取
- 安裝
- 后臺管理
- 首頁
- 內容
- 系統
- 網站設置
- 配置管理
- 菜單管理
- 分類管理
- 模型管理
- 導航管理
- 數據備份
- 擴展
- 用戶
- 用戶信息
- 用戶行為
- 行為日志
- 權限管理
- 應用
- 架構設置
- 應用架構及目錄結構
- 獨立模型
- 插件設計
- 用戶行為設計
- 權限設計
- 文檔模型設計
- 分類設計
- 二次開發
- 命名規范與編碼規范
- 數據字典
- 公共函數和庫函數使用規范
- 模板開發指南
- 權限管理指南
- 插件開發指南
- 什么是插件?
- 什么是鉤子?
- 插件的開發流程
- 插件后臺的開發
- 插件開發注意事項
- 模型擴展開發指南
- 獨立模型擴展
- 文檔模型擴展
- 附錄
- 配置參考
- 函數庫參考
- Common函數庫
- admin函數庫
- Home函數庫
- 類庫參考