如果插件需要后臺顯示,可以在快速創(chuàng)建插件步驟里,勾上‘是否需要后臺列表’,然后配置下列表顯示需要的數(shù)組參數(shù),如果需要制定模板,可以寫下custom_adminlist文本域,指定列表頁的模板。然后可以在那里二次開發(fā),比如弄個彈窗更新部分數(shù)據(jù)什么的。
這個你們可以將Attachement 附件 插件的那個custom_adminlist屬性去了看有顯示,加上也有顯示。 具體實現(xiàn)可以看AddonsController里的adminlist方法和對應(yīng)模板。
插件后臺里的新增、更新頁面后的跳轉(zhuǎn)地址可以通過cookie('forward')去獲取后臺列表的url。
插件不一定有設(shè)置頁面。必須插件目錄里有一個config.php并且返回一個非空的數(shù)組才會顯示。設(shè)置頁里有顯示。
拿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編輯器不支持此功能'
),
);
數(shù)組的每個鍵都對應(yīng)一個form表單。鍵名就是配置里會顯示的表單名 并且為了防止沖突加了前綴 ,比如上面的editor_type 會顯示為
config[editor_type]。title是字段前面的標識字。type是form標準的type,出了一個擴展的group。待會單獨講group。然后有多個選項的會有options鍵和值是相應(yīng)選項的數(shù)組。值里每個鍵是選項的value后面的值是顯示的label文字。value字段是該表單項的默認值。 tip是表單項里面的灰色提示文字。
效果圖如下:
實際解析的方法在Admin/View/Addons/config.html里。
Group類型是我為了插件中會去配置多個同類型事物的配置,每次要加前綴導致的混亂。正好用到后臺的tab。 每個group里值options就是多個配置分組tab。然后分組顯示名是其title。然后options里是每個配置的復合數(shù)組。那個寫法和之前單獨的配置一樣。 代碼如下:
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,填寫后可進相應(yīng)官方后臺'
),
)
),
'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'=>'單頁顯示評論數(shù)',
'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]是所有的從配置數(shù)組和數(shù)據(jù)庫合并過的數(shù)組。模板里{$data.config.name.value}是輸出配置項里name的那個表單項的值。
更多建議: