<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ###3.11插件開發指南 --- 一、插件類型介紹 CSW插件目前分為“內置控制器”、“頁面嵌入”。 1、內置控制器類型插件。 有獨立的控制器、模型、視圖目錄,后面將重點介紹該類型插件開發。 2、頁面嵌入類型插件。 該類型插件只包含兩個核心文件:run.php和run.html。 二、“內置控制器”插件開發介紹 1、插件文件及目錄結構 目錄controllers: 插件控制器目錄 目錄models: 插件模型目錄 目錄views: 插件視圖目錄 文件config.php: 插件配置信息文件 文件install.php: 安裝插件執行的SQL語句 文件uninstall.php:刪除插件執行的SQL語句 文件md5.php: MD5校驗文件,官方校驗文件 文件mark.txt: 官方發布插件的唯一標示,若是自己開發的插件就不需要該文件 2、插件訪問路徑 網站地址/index.php?s=插件名稱&c=插件控制器&a=對應的Action。 3、插件配置文件config.php規則 <?php return array( 'name' => '文章踩頂', 'author' => 'start', 'version' => '1.0', 'typeid' => 1, 'description' => "必須有Jquery支持,將下面代碼放在內容頁面中", 'fields' => array( array('field'=>'dingname', 'name'=>'“頂”名稱設置', 'tips'=>'默認“頂一下”。', 'formtype'=>'input', 'setting'=>"array('size'=>'100')"), array('field'=>'cainame', 'name'=>'“踩”名稱設置', 'tips'=>'默認“踩一下”。', 'formtype'=>'input', 'setting'=>"array('size'=>'100')"), ) ); 該配置文件返回數組格式信息,參數如下介紹。 name: 插件名稱。 author: 插件作者。 version: 插件版本。 typeid: 1,(固定格式值)。 description: 插件描述信息(注意html轉義)。 fields: 插件配置參數(若沒有配置信息設置,該值可省略)。 array('field'=>'字段名稱', 'name'=>'字段顯示名稱', 'tips'=>'提醒文字', 'formtype'=>'字段類型(可參考擴展目錄的fields.php文件)', 'setting'=>"該字段類型的配置信息"), 4、插件安裝/卸載文件規則 (1)、安裝文件install.php <?php if (!defined('IN_FINECMS')) exit(''); return array( "DROP TABLE IF EXISTS `{prefix}digg`;", "CREATE TABLE IF NOT EXISTS `{prefix}digg` ( `id` mediumint(8) NOT NULL AUTO_INCREMENT, `contentid` mediumint(8) NOT NULL, `title` varchar(100) NOT NULL, `cai` mediumint(8) NOT NULL, `ding` mediumint(8) NOT NULL, `addtime` int(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;" ); 支持多條SQL語句,數據表前綴請用“{prefix}”表示。 (2)插件卸載uninstall.php <?php if (!defined('IN_FINECMS')) exit(''); return array( "DROP TABLE IF EXISTS `{prefix}digg`;" ); 5、插件控制器controllers規則 (1)、插件公共控制器類Common.php。 <?php /** * 插件控制器公共類 */ class Plugin extends Common { //繼承通用公共類 protected $plugin; //插件模型 protected $data; //插件數據 protected $viewpath; //視圖目錄 protected $digg; //用到的插件模型實例 public function __construct() { parent::__construct(); $this->plugin = $this->model('plugin'); $this->data = $this->plugin->where('dir=?', $this->namespace)->select(false); if (empty($this->data)) $this->adminMsg('插件尚未安裝', url('admin/plugin')); if ($this->data['disable']) $this->adminMsg('插件尚未開啟', url('admin/plugin')); $this->viewpath = SITE_PATH . $this->site['PLUGIN_DIR'] . '/' . $this->data['dir'] . '/views/'; $this->assign(array( 'viewpath' => $this->viewpath, 'pluginid' => $this->data['pluginid'], )); //以上代碼為固定格式,用戶在開發插件時,可以直接copy。 $this->digg = $this->model('digg'); //實例化用到的模型 } } 插件控制器公共類用于實例化該插件用到的模型,或者該插件用到的函數等。 (2)、控制器Controller介紹 <?php class AdminController extends Plugin { //AdminController繼承公共插件類 public function __construct() { parent::__construct(); //Admin控制器進行登錄驗證 if (!$this->session->is_set('user_id') || !$this->session->get('user_id')) $this->adminMsg('請登錄以后再操作', url('admin/login')); //如果需要管理員登陸驗證,就加上這一句。 } public function indexAction() { echo "插件indexAction,歡迎使用FineCMS插件。"; } } 加載視圖文件和賦值變量與主控制器不同以外,其他規則與Controller一致。 變量賦值:$this->assign(變量名稱, 變量值); $this->assign(支持數組); 加載視圖:$this->display(視圖文件名稱(不帶擴展名));例如:$htis->display('test');//插件目錄/views/test.php (3)、插件模型models介紹 與系統模型規則一致。 (4)、插件視圖views介紹 只支持原生態PHP語句,不支持模板標簽。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看