Heim > PHP-Framework > Denken Sie an PHP > So verwenden Sie das Navigationsmenü in ThinkPHP6

So verwenden Sie das Navigationsmenü in ThinkPHP6

WBOY
Freigeben: 2023-06-21 08:03:12
Original
1799 Leute haben es durchsucht

Mit der Entwicklung des Internets werden Websites immer komplexer, ihre Funktionen werden immer umfangreicher und die Bedürfnisse der Benutzer werden immer vielfältiger. Um Benutzern das schnelle Auffinden der erforderlichen Funktionen zu erleichtern, wird die Navigation erleichtert Menü ist zu einem unverzichtbaren Element geworden. Wie verwende ich das Navigationsmenü in ThinkPHP6? Dieser Artikel führt Sie Schritt für Schritt ein.

1. Erstellen Sie eine Navigationsmenü-Datentabelle. In ThinkPHP6 können wir eine Datenbank zum Speichern von Navigationsmenü-Informationen verwenden. Zuerst müssen wir eine Navigationsmenü-Datentabelle erstellen. Die spezifische Tabellenstruktur ist wie folgt:

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='导航菜单表';
Nach dem Login kopieren

2. Daten importieren

Nachdem wir die Navigationsmenüdatentabelle erstellt haben, müssen wir die Navigationsmenüdaten in die Datenbank importieren. Im Allgemeinen können wir Daten auf folgende Weise importieren:

Manuelles Hinzufügen von Daten direkt zur Datenbank
  • Verwenden von Befehlszeilentools zum Importieren von Daten
  • Schreiben von Skripten zum stapelweisen Importieren von Daten
  • 3. Erstellen eines Menümodells

In ThinkPHP6 können wir Modelle verwenden, um eine Verbindung zur Datenbank herzustellen und Daten in der Datenbank abzurufen. Daher müssen wir ein Menümodell erstellen und den Tabellennamen, den Primärschlüssel, den automatischen Zeitstempel und andere Attribute im Modell definieren. Der spezifische Code lautet wie folgt:

<?php
namespace appmodel;

use thinkModel;

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

    protected $autoWriteTimestamp = true;
}
Nach dem Login kopieren
4. Erstellen Sie einen Menü-Controller zur Verarbeitung der gesamten menübezogenen Logik, einschließlich des Abrufens von Menüdaten, des Renderns von Menüansichten usw. In ThinkPHP6 können wir Befehlszeilentools verwenden, um schnell Controller zu generieren. Der spezifische Befehl lautet wie folgt:

php think make:controller Menu
Nach dem Login kopieren

Nachdem der Befehl ausgeführt wurde, finden wir die generierte Datei Menu.php im Verzeichnis appcontroller. Dann können wir im Controller eine Methode definieren, um das Navigationsmenü zu erhalten. Der spezifische Code lautet wie folgt:

<?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');
    }
}
Nach dem Login kopieren

Im Controller verwenden wir die where-Methode des Menu</code > Modell, um das Menü der ersten Ebene zu erhalten, dann die Menüdaten und die aktuell ausgewählte Menü-ID der Ansicht zuzuweisen und schließlich die Ansicht zu rendern. <p></p>5. Erstellen Sie eine Menüansicht<p><code>appcontroller目录下找到生成的Menu.php文件。然后我们可以在控制器中定义一个获取导航菜单的方法,具体代码如下:

<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>
Nach dem Login kopieren

在控制器中,我们使用Menu模型的where方法来获取一级菜单,然后将菜单数据和当前选中的菜单ID分配给视图,最后渲染视图。

5.创建菜单视图

菜单视图用于展示导航菜单,我们可以将导航菜单展示在页面的头部或者左侧,具体位置可以根据实际需求来确定。在视图中,我们可以使用foreach循环来遍历菜单数据,然后输出对应的HTML代码。

use thinkacadeRoute;

Route::get('menu/index', 'MenuController@index');
Nach dem Login kopieren

6.创建路由

在ThinkPHP6中,我们需要创建一个路由来访问菜单控制器的index方法,具体代码如下:

rrreee

路由定义好之后,我们就可以通过http://localhost/menu/indexDie Menüansicht wird zur Anzeige des Navigationsmenüs im Kopf oder auf der linken Seite der Seite verwendet. In der Ansicht können wir die foreach-Schleife verwenden, um die Menüdaten zu durchlaufen und dann den entsprechenden HTML-Code auszugeben.

rrreee

6. Erstellen Sie eine Route

In ThinkPHP6 müssen wir eine Route erstellen, um auf die index-Methode des Menü-Controllers zuzugreifen. Der spezifische Code lautet wie folgt:

rrreee🎜Nach der Route definiert, können wir http://localhost/menu/index übergeben, um auf die Menüseite zuzugreifen. 🎜🎜Zusammenfassung🎜🎜Das Obige ist der vollständige Prozess der Verwendung des Navigationsmenüs in ThinkPHP6, einschließlich der Erstellung einer Navigationsmenü-Datentabelle, des Importierens von Daten, der Erstellung eines Menümodells, der Erstellung eines Menü-Controllers, der Erstellung einer Menüansicht und der Erstellung einer Route. Durch dieses Beispiel glaube ich, dass jeder die Fähigkeiten zur Verwendung des Navigationsmenüs in ThinkPHP6 beherrscht und diese schnell im Projekt anwenden kann. 🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Navigationsmenü in ThinkPHP6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage