隨著網路的發展,網站越來越複雜,功能越來越豐富,使用者的需求也越來越多元化,為了方便使用者快速定位所需的功能,導航選單成為了必不可少的一個元素。在ThinkPHP6中,如何使用導覽選單呢?本文將一步步為您介紹。
1.建立導航選單資料表
在ThinkPHP6中,我們可以使用資料庫來儲存導航選單信息,首先我們需要建立一個導航選單的資料表。具體的表格結構如下:
CREATE TABLE `menu` ( `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL COMMENT '菜单名称', `url` varchar(255) NOT NULL DEFAULT '' COMMENT '菜单链接地址', `parent_id` bigint(20) UNSIGNED NOT NULL COMMENT '父级菜单ID', `order` int(11) NOT NULL DEFAULT '0' COMMENT '排序', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='导航菜单表';
2.導入資料
建立好導航選單資料表之後,我們需要將導航選單的資料匯入到資料庫中。一般情況下,我們可以透過以下幾種方式匯入資料:
3.建立選單模型
在ThinkPHP6中,我們可以使用模型來連接資料庫,取得資料庫中的資料。因此,我們需要建立一個選單模型,在模型中定義好表名、主鍵、自動時間戳等屬性,具體程式碼如下:
<?php namespace appmodel; use thinkModel; class Menu extends Model { protected $table = 'menu'; protected $pk = 'id'; protected $autoWriteTimestamp = true; }
4.建立選單控制器
#選單控制器負責處理和選單相關的所有邏輯,包括如何取得選單資料、如何渲染選單視圖等。在ThinkPHP6中,我們可以使用命令列工具快速產生控制器。具體指令如下:
php think make:controller Menu
指令執行完成之後,我們可以在appcontroller
目錄下找到產生的Menu.php
檔。然後我們可以在控制器中定義一個取得導航選單的方法,具體程式碼如下:
<?php namespace appcontroller; use appmodelMenu; use thinkacadeView; class MenuController { public function index() { // 获取一级菜单 $menus = Menu::where('parent_id', 0)->order('order')->select(); // 获取当前选中的菜单ID $selectedId = input('get.id', ''); View::assign([ 'menus' => $menus, 'selectedId' => $selectedId, ]); return View::fetch('index'); } }
在控制器中,我們使用Menu
模型的where
方法來取得一級選單,然後將選單資料和目前選取的選單ID指派給視圖,最後渲染視圖。
5.建立選單視圖
選單視圖用於展示導航選單,我們可以將導航選單展示在頁面的頭部或左側,具體位置可以根據實際需求來確定。在視圖中,我們可以使用foreach
循環來遍歷選單數據,然後輸出對應的HTML程式碼。
<nav> <ul> <?php foreach ($menus as $menu): ?> <li class="<?php if ($selectedId == $menu['id']) echo 'active' ?>"> <a href="<?php echo $menu['url'] ?>"><?php echo $menu['title'] ?></a> </li> <?php endforeach; ?> </ul> </nav>
6.建立路由
在ThinkPHP6中,我們需要建立一個路由來存取選單控制器的index
方法,具體程式碼如下:
use thinkacadeRoute; Route::get('menu/index', 'MenuController@index');
路由定義好之後,我們就可以透過http://localhost/menu/index
來存取選單頁面了。
總結
以上就是在ThinkPHP6中使用導航選單的完整流程,包括建立導航選單的資料表、匯入資料、建立選單模型、建立選單控制器、建立選單檢視和創建路由。透過這個例子,相信大家已經掌握瞭如何在ThinkPHP6中使用導航選單的技巧,可以在專案中快速應用。
以上是如何在ThinkPHP6中使用導航選單的詳細內容。更多資訊請關注PHP中文網其他相關文章!