Rumah > rangka kerja php > ThinkPHP > Cara menggunakan menu navigasi dalam ThinkPHP6

Cara menggunakan menu navigasi dalam ThinkPHP6

WBOY
Lepaskan: 2023-06-21 08:03:12
asal
1798 orang telah melayarinya

Dengan perkembangan Internet, laman web menjadi semakin kompleks, fungsinya semakin banyak, dan keperluan pengguna semakin pelbagai bagi memudahkan pengguna mencari fungsi yang mereka perlukan , menu navigasi telah menjadi elemen yang sangat diperlukan. Bagaimana untuk menggunakan menu navigasi dalam ThinkPHP6? Artikel ini akan memperkenalkan anda langkah demi langkah.

1. Buat jadual data menu navigasi

Dalam ThinkPHP6, kita boleh menggunakan pangkalan data untuk menyimpan maklumat menu navigasi Pertama, kita perlu mencipta jadual data menu navigasi. Struktur jadual khusus adalah seperti berikut:

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='导航菜单表';
Salin selepas log masuk

2 Import data

Selepas mencipta jadual data menu navigasi, kami perlu mengimport data menu navigasi ke dalam pangkalan data. Secara amnya, kami boleh mengimport data dengan cara berikut:

  • Tambah data terus ke pangkalan data secara manual
  • Gunakan alatan baris arahan untuk mengimport data
  • Tulis skrip Import kelompok data

3. Cipta model menu

Dalam ThinkPHP6, kita boleh menggunakan model untuk menyambung ke pangkalan data dan mendapatkan data dalam pangkalan data. Oleh itu, kita perlu mencipta model menu dan menentukan nama jadual, kunci utama, cap masa automatik dan atribut lain dalam model Kod khusus adalah seperti berikut:

<?php
namespace appmodel;

use thinkModel;

class Menu extends Model
{
    protected $table = 'menu';
    protected $pk = 'id';

    protected $autoWriteTimestamp = true;
}
Salin selepas log masuk

4 🎜>Kawalan menu Pemproses bertanggungjawab untuk memproses semua logik yang berkaitan dengan menu, termasuk cara mendapatkan data menu, cara membuat paparan menu, dsb. Dalam ThinkPHP6, kita boleh menggunakan alat baris arahan untuk menjana pengawal dengan cepat. Perintah khusus adalah seperti berikut:

php think make:controller Menu
Salin selepas log masuk

Selepas arahan dilaksanakan, kita boleh mencari fail

yang dihasilkan dalam direktori

. Kemudian kita boleh mentakrifkan kaedah dalam pengawal untuk mendapatkan menu navigasi Kod khusus adalah seperti berikut: appcontroller

<?php
namespace appcontroller;

use appmodelMenu;
use thinkacadeView;

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');
    }
}
Salin selepas log masuk
Menu.php Dalam pengawal, kami menggunakan kaedah

model

untuk mendapatkan peringkat pertama. menu, dan kemudian Data menu dan ID menu yang dipilih pada masa ini diberikan kepada paparan, dan akhirnya paparan diberikan. Menuwhere5. Cipta paparan menu

Paparan menu digunakan untuk memaparkan menu navigasi Kami boleh memaparkan menu navigasi di bahagian kepala atau sebelah kiri halaman ditentukan mengikut keperluan sebenar. Dalam paparan, kita boleh menggunakan gelung

untuk melintasi data menu dan kemudian mengeluarkan kod HTML yang sepadan.

<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>
Salin selepas log masuk
foreach6. Buat laluan

Dalam ThinkPHP6, kita perlu mencipta laluan untuk mengakses kaedah

pengawal menu Kod khusus adalah seperti berikut:

use thinkacadeRoute;

Route::get('menu/index', 'MenuController@index');
Salin selepas log masuk
indexDefinisi laluan Selepas itu, kita boleh mengakses halaman menu melalui .

http://localhost/menu/indexRingkasan

Di atas adalah proses lengkap menggunakan menu navigasi dalam ThinkPHP6, termasuk membuat jadual data menu navigasi, mengimport data, mencipta model menu, mencipta pengawal menu, mencipta paparan menu dan membuat penghalaan . Melalui contoh ini, saya percaya bahawa semua orang telah menguasai kemahiran cara menggunakan menu navigasi dalam ThinkPHP6, dan boleh menggunakannya dengan cepat dalam projek.

Atas ialah kandungan terperinci Cara menggunakan menu navigasi dalam ThinkPHP6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan