<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## addRightButton('類型' [, '按鈕屬性', '彈窗形式', '擴展參數']) | 版本 | 功能 | | --- | --- | | 1.0.5 | 彈窗支持自定義js回調函數 | | 1.0.5 | 自定義按鈕的類型不再僅限于custom,可使用任意單詞作為自定義按鈕 | | 1.0.7 | 支持自定義數據操作方式,默認為Db::name() | | 1.1.0 | 支持單獨設置右側按鈕樣式 | 有了數據,肯定也需要對數據進行操作,那么就要給每一行添加一些按鈕。 DolphinPHP內置了幾種常用的右側按鈕,比如:編輯、啟用、禁用、刪除、自定義。 | 按鈕類型 | 標識符 | | --- | --- | | 編輯 | edit | | 啟用 | enable | | 禁用 | disable | | 刪除 | delete | | 自定義 | 1.0.5版本以后,自定義按鈕類型可按需求填寫,不再限定于custom類型 | >[danger] 注意:要使用這些按鈕,需要將對應的操作添加到節點菜單,否則除管理員外,其他用戶將無權限操作。 其中,編輯按鈕的操作方法需要自己實現,默認是當前控制器的edit方法。 比如我們添加兩個按鈕,編輯和刪除。 首先,我們要添加多一列,用來放置這些按鈕,字段名必須為“`right_button`”,類型為“`btn`”。 ~~~ // 讀取用戶數據 $data_list = Db::name('admin_user')->select(); // 使用ZBuilder構建數據表格 return ZBuilder::make('table') ->addColumn('id', 'ID') ->addColumn('username', '用戶名') ->addColumn('nickname', '昵稱') ->addColumn('email', '郵箱') ->addColumn('mobile', '手機號') ->addColumn('create_time', '創建時間') ->addColumn('right_button', '操作', 'btn') ->setRowList($data_list) // 設置表格數據 ->fetch(); ~~~ 接著,使用`addRightButton()`方法添加兩個右側按鈕。 ~~~ ->addRightButton('edit') ->addRightButton('delete') ~~~ ![](https://box.kancloud.cn/3df5aeacd848edeae416ebb349dfbf0d_1587x200.png) ### 修改內置按鈕屬性 內置按鈕默認有5個屬性,分別是 | 屬性 | 含義 | | --- | --- | | title | 標題 | | icon | 字體圖標 | | class | css類 | | href | 按鈕鏈接 | | target | 打開方式 | 我們可以通過第二個參數來修改內置按鈕的屬性,比如,我們希望給編輯按鈕添加額外參數,那么就必須修改href屬性,并且要用數組的方式修改。 ~~~ ->addRightButton('edit', ['href' => url('edit', ['group' => 'index'])]) ~~~ >[danger] 需要注意的是,編輯操作不需要指定數據的主鍵值,一般是id,如果按上面的修改,是不正確的,需要把主鍵值也帶進去。主鍵名用`__id__`代替。 ~~~ ->addRightButton('edit', ['href' => url('edit', ['id' => '__id__', 'group' => 'index'])]) ~~~ 那么生成的url鏈接為:`http://****.com/admin.php/cms/index/edit/id/1/group/index.html` >[info] 從1.0.3版本開始,支持用“`__字段名__`”來獲取字段名值。注意,主鍵值依然只能用“`__id__`”來獲取。 ~~~ ->addRightButton('edit', ['href' => url('edit', ['id' => '__id__', 'group' => '__group__'])]) ~~~ 生成url時,`__group__`會被自動替換成`group`字段的值。 會生成url:`http://****.com/admin.php/cms/index/edit/id/1/group/index.html` ### 修改主鍵名 如果你的主鍵名不是id,比如是username,那么可以這樣定義 ~~~ ->addRightButton('edit', ['href' => url('edit', ['username' => '__id__', 'group' => 'index'])]) ~~~ 生成的鏈接為:`http://****.com/admin.php/cms/index/edit/username/1/group/index.html` ### 設置主鍵名 >[danger] 注意,如果修改了主鍵名,那么必須告訴構建器你的主鍵名是什么。請示用`setPrimaryKey`方法,只需使用一次即可。 ~~~ ->addRightButton('edit', ['href' => url('edit', ['username' => '__id__', 'group' => 'index'])]) ->setPrimaryKey('username') ~~~ ### 添加額外屬性 當然,除了修改按鈕屬性外,還可以給按鈕添加額外的自定義屬性,比如`data-**`這種。 ~~~ ->addRightButton('edit', ['data-test' => 'test']) ~~~ ### 啟用、禁用和刪除 如果是啟用、禁用和刪除按鈕,系統會默認去操作“`當前模塊名_當前控制器名`”的數據表,如果表名不是“`當前模塊名_當前控制器名`”,那么需要另外指定表名。 ~~~ ->addRightButton('enable', ['table' => 'admin_user']) // 啟用 ->addRightButton('disable', ['table' => 'admin_user']) // 禁用 ->addRightButton('delete', ['table' => 'admin_user']) // 刪除 ~~~ >[info]從1.0.7版本開始,啟用、禁用和刪除功能除了可以自定義表名外,還支持使用模型 **默認使用Db::name('admin_user')操作數據** ~~~ ->addRightButton('enable', ['table' => 'admin_user']) 等同于 ->addRightButton('enable', ['table' => 'admin_user', 1]) ~~~ **使用Db::table('admin_user')操作數據** ~~~ ->addRightButton('enable', ['table' => 'admin_user', 0]) ~~~ **使用指定模型`model('admin/user')`操作數據** ~~~ ->addRightButton('enable', ['table' => 'admin/user', 2]) 等同于 ->addRightButton('enable', ['table' => 'admin/user', true]) ~~~ ### 自定義按鈕 >[info] 右側按鈕的默認css類為:btn btn-xs btn-default >[info] 提示:1.0.5版以后,自定義按鈕不再限定于custom類型,只要不是默認的按鈕類型,其他均屬于自定義按鈕。 ~~~ $btn_access = [ 'title' => '授權', 'icon' => 'fa fa-fw fa-key', 'href' => url('access', ['uid' => '__id__']) ]; ->addRightButton('custom', $btn_access) // 添加授權按鈕 或者 ->addRightButton('access', $btn_access) // 添加授權按鈕 ~~~ ### ajax跳轉 如果你的右側按鈕希望是ajax提交的話,可以給按鈕的css類添加“ajax-get” ~~~ $btn_access = [ 'title' => '授權', 'icon' => 'fa fa-fw fa-key', 'class' => 'btn btn-xs btn-default ajax-get', 'href' => url('access', ['uid' => '__id__']) ]; ->addRightButton('custom', $btn_access) // 添加授權按鈕 ~~~ ### 執行確認 如果希望給按鈕加上確認框,可以添加`confirm`類名 ~~~ $btn_access = [ 'title' => '授權', 'icon' => 'fa fa-fw fa-key', 'class' => 'btn btn-xs btn-default ajax-get confirm', 'href' => url('access', ['uid' => '__id__']) ]; ->addRightButton('custom', $btn_access) // 添加授權按鈕 ~~~ ![](https://box.kancloud.cn/848f464bfbabdb1312c7a9b0bb2b6118_576x353.png) >[info]從1.0.3版本開始,確認框的標題支持自定義,只需添加“data-title”屬性。 ~~~ $btn_access = [ 'title' => '授權', 'icon' => 'fa fa-fw fa-key', 'class' => 'btn btn-xs btn-default ajax-get confirm', 'href' => url('access', ['uid' => '__id__']), 'data-title' => '真的要刪除嗎?' ]; ->addRightButton('custom', $btn_access) // 添加授權按鈕 ~~~ ![](https://box.kancloud.cn/3f8140dcd021cec95ac909e8d6e82610_519x339.png) 也可以顯示額外的提示文字,只需添加“data-tips”屬性。 ~~~ $btn_access = [ 'title' => '授權', 'icon' => 'fa fa-fw fa-key', 'class' => 'btn btn-xs btn-default ajax-get confirm', 'href' => url('access', ['uid' => '__id__']), 'data-title' => '真的要刪除嗎?', 'data-tips' => '刪除了就無法恢復了' ]; ->addRightButton('custom', $btn_access) // 添加授權按鈕 ~~~ ![](https://box.kancloud.cn/2c1e1b96437a2b396476754894f7f006_513x347.png) 也可以自定義按鈕文字 ~~~ $btn_access = [ 'title' => '授權', 'icon' => 'fa fa-fw fa-key', 'class' => 'btn btn-xs btn-default ajax-get confirm', 'href' => url('access', ['uid' => '__id__']), 'data-title' => '真的要刪除嗎?', 'data-tips' => '刪除了就無法恢復了', 'data-confirm' => '刪除吧', 'data-cancel' => '再想想' ]; ->addRightButton('custom', $btn_access) // 添加授權按鈕 ~~~ ![](https://box.kancloud.cn/1d18976345d9cfc3d4c75f53b30ffcc2_496x341.png) ### 彈窗形式打開 如果需要以彈出層的方式打開頁面的話,只需將第三個參數設置為`true`即可,比如: ~~~ ->addRightButton('edit', [], true) ~~~ >[info] 小提示:默認情況下,在彈出框操作完成之后,彈出框不會關閉。如果需要關閉彈出框,可以回傳“_close_pop”指令。 ~~~ $this->success('保存成功', null, '_close_pop'); 或者 $this->success('保存成功', null, ['_close_pop' => 1]); ~~~ >[info] 如果希望刷新父窗口,可以回傳“_parent_reload”指令。 ~~~ $this->success('保存成功', null, '_parent_reload'); 或 $this->success('保存成功', null, ['_parent_reload' => 1]); ~~~ #### 自定義彈窗 >[info]從1.0.3開始,彈窗支持自定義,比如重新定義彈窗的大小,標題等,只需要以數組形式傳入配置參數即可,更多參數,請參考:[layer手冊](http://layer.layui.com/) 比如修改彈窗的寬和高,可以這樣做。 ~~~ ->addRightButton('edit', [], ['area' => ['800px', '90%']]) 或者 ->addRightButton('edit', [], ['area' => '800px']) ~~~ 或者重新指定彈窗標題 ~~~ ->addRightButton('edit', [], ['area' => ['800px', '90%'], 'title' => '這是新標題']) ~~~ 也可以加個圖標什么的 ~~~ ->addRightButton('edit', [], ['area' => ['800px', '90%'], 'title' => '<i class="fa fa-user"></i> 這是新標題']) ~~~ 當然也可以不顯示標題 ~~~ ->addRightButton('edit', [], ['area' => ['800px', '90%'], 'title' => false]) ~~~ 甚至可以定義標題樣式 ~~~ ->addRightButton('edit', [], ['area' => ['800px', '90%'], 'title' => ['新標題', 'font-size:18px;']]) ~~~ 定義皮膚 ~~~ ->addRightButton('edit', [], ['skin' => 'layui-layer-lan']) ~~~ ### 自定義彈窗的js回調函數 >[info] 從1.0.5版本開始,彈窗支持自定義js回調函數,比如關閉彈窗時執行的回調cancel 在設置js回調函數前,需要先定義好用于回調的js函數,可以用->js()方法([引入js文件](表格-引入js文件.md)),然后在這個js文件中聲明一個函數,也可以使用[設置額外JS代碼](表格-設置額外JS代碼.md)的方法聲明。 ~~~ ->js('test') ->addRightButton('add', [], ['cancel' => 'cl']) ~~~ **test.js**代碼如下: ~~~ var cl = function (index, layero) { if(confirm('確定要關閉么')){ //只有當點擊confirm框的確定時,該層才會關閉 layer.close(index) } return false; }; ~~~ 更多參數設置,請自行到[layer官網](http://layer.layui.com/)查看手冊。 #### 彈窗的全局參數配置 除了可以在ZBuilder中設置彈窗參數外,從1.0.3版本開始,可以在`application\extra\zbuilder.php`文件中設置全局參數。 >[danger]注意:全局參數配置的優先級比在ZBuilder中直接設置參數低 ### 自定義右側按鈕樣式 從1.0.3版本開始,右側按鈕的樣式,可以在全局配置文件`application\extra\zbuilder.php`中自定義。 ~~~ // 右側按鈕 'right_button' => [ // 是否顯示按鈕文字 'title' => false, // 是否顯示圖標,只有顯示文字時才起作用 'icon' => true, // 按鈕大小:xs/sm/lg,留空則為普通大小 'size' => 'xs', // 按鈕樣式:default/primary/success/info/warning/danger 'style' => 'primary' ] ~~~ ### 單獨設置按鈕樣式(1.1.0+) 除了可以使用上面的方式統一設置按鈕樣式,也可以單獨設置,此功能需要`1.1.0`版本以上才支持。 **單獨顯示標題** ~~~ ->addRightButton('edit', [], false, ['title' => true]) ~~~ **單獨修改按鈕大小** ~~~ ->addRightButton('edit', [], false, ['size' => 'sm']) ~~~ **單獨隱藏圖標** ~~~ ->addRightButton('edit', [], false, ['title' => true, 'icon' => false]) ~~~
                  <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>

                              哎呀哎呀视频在线观看