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

                # 建表 ## 文章分類表 ### 建表語句 ~~~SQL DROP TABLE IF EXISTS `article_category`; CREATE TABLE `article_category` ( `id` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT, `parent_id` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '父級ID', `title` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '分類名稱', `order` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '排序', `seo_title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'seo標題', `seo_keywords` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'seo關鍵詞', `seo_description` varchar(400) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'seo摘要', `created_at` timestamp NULL DEFAULT NULL COMMENT '添加時間', `updated_at` timestamp NULL DEFAULT NULL COMMENT '修改時間', PRIMARY KEY (`id`) USING BTREE, INDEX `menu_join`(`parent_id`) USING BTREE, INDEX `index_list`(`title`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '文章分類表' ROW_FORMAT = Dynamic; ~~~ >這里設置的很多字段不為空 所以表單提交的時候 非必填的字段需要給默認值 ### 代碼生成 找到后臺:`開發工具` -> `代碼生成器` 選擇 `article_category` 表生成代碼 系統會自動生成該表對應的增刪改查 添加路由: `app\Admin\routes.php` ~~~php ... Route::group([ ... ], function (Router $router) { ... $router->resource('/article_category', 'ArticleCategoryController'); }); ~~~ >dcat-admin的大多數路由 都是這樣設置 `$router->resource('/{表名}', '{控制器}');` ### 創建菜單 創建網站菜單 `文章` 路徑不填寫 創建`文章`菜單的二級菜單`分類` 路徑填寫 `/article_category` ### 修改表單代碼 `app\Admin\Controllers\ArticleCategoryController.php` ~~~php protected function form() { return Form::make(new ArticleCategory(), function (Form $form) { $articleCategoryModel = new \App\Models\ArticleCategory(); $form->display('id'); $form->select('parent_id', '上級') ->options($articleCategoryModel->selectOptions(null, '頂級')) ->saving(function ($v) { return (int) $v; }) ->default(0) ->required(); $form->text('title', '名稱')->required(); $form->text('order', '排序')->required(); $form->text('seo_title', 'SEO標題') ->saving(function ($v) { return (string) $v; }); $form->text('seo_keywords', 'SEO關鍵詞') ->saving(function ($v) { return (string) $v; }); $form->textarea('seo_description', 'SEO描述') ->saving(function ($v) { return (string) $v; }); $form->display('created_at'); $form->display('updated_at'); }); } ~~~ 模型添加方法 `selectOptions` ~~~php use Dcat\Admin\Traits\ModelTree; class ArticleCategory extends Model { use ModelTree; public function selectOptions(\Closure$closure = null, $rootText = null) { $options = (new static())->withQuery($closure) ->buildSelectOptions(); return collect($options) ->prepend($rootText, 0) ->all(); } } ~~~ >這里是參考了 dacat-admin 的寫法 樹形結構數據 一般分類都會用到 這里可以先把所有的分類都加上 `關于我們` `跨境電商` `國際快遞` `FBA派送` `幫助中心` 幫助中心二級: `行業新聞` `物流知識` >加上二級分類是為了在重做列表時可以看到分類結構 ### 修改列表代碼 `app\Admin\Controllers\ArticleCategoryController.php` ~~~php use Dcat\Admin\Layout\Content; use Dcat\Admin\Layout\Row; use Dcat\Admin\Tree; public function index(Content $content) { return $content->header('文章分類') ->body(function (Row $row) { $tree = new Tree(new ArticleCategory); $tree->branch(function ($branch) { return "{$branch['id']} - {$branch['title']}"; }); $row->column(5, $tree); }); } ~~~ > dcat-admin 默認列表的方法是 `index` 這里用到了系統的樹形結構
                  <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>

                              哎呀哎呀视频在线观看