SentCMS 插件后臺的開發(fā)

2021-09-14 17:56 更新

如果插件需要后臺顯示,可以在快速創(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是表單項里面的灰色提示文字。

效果圖如下:
2015-08-04/55c08011dbf41

實際解析的方法在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的那個表單項的值。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號