如何使用 laravel 5.4 制作工作菜单选项卡

how to make working menu tab with laravel 5.4

我正在研究 Laravel 5.4 我创建了一个菜单,其中包含三个选项卡:主页、关于和联系方式。当我点击主页时,它应该在主页上。当点击about时,应该在about页面....

web.php:

<?php

Route::get('/', function()
{
return View('method1.home');
});
Route::get('about', function()
{
return View('method1.about');
});

**method1 是 resources\views 中的文件夹**

home.blade.php:

@extends('method1.dashboard')
@section('content')
 <h1>This is home page</h1>
@endsection

about.blade.php 是:

@extends('method1.dashboard')
@section('content')
 <h1>This is about page</h1>
@endsection

dashboard.blade.php 是:

@include('method1.includes.menu-header')

菜单-header.blade.php是:

<li class="active"> <a href="/">Home</a></li>
<li> <a href="/about">About</a></li>

但是当我点击主页或关于页面时。显示找不到页面。

我的 laravel 项目文件夹名称是 admin_laravel。当我 运行 http://localhost/admin_laravel/ then it shows home page and when run http://localhost/admin_laravel/about 它显示关于页面。

但是当我点击 关于菜单按钮 然后在浏览器中显示 link http://localhost/about. Means it is not going with http://localhost/admin_laravel/about 并且页面是没有显示。

你遗漏了一些东西,要快速修复你可以这样做:

<li class="active"> <a href="{{ url('/') }}">Home</a></li>
<li> <a href="{{ url('about') }}">About</a></li>

你也可以给出路由名称并使用路由方法:

Route::get('about', function()
{
   return View('method1.about');
})->name('about');

然后:

<li> <a href="{{ route('about') }}">About</a></li>

详情如下:https://laravel.com/docs/5.2/helpers#method-route

您正在对 URL 进行硬编码。当你有 <li><a href="/about">About</a></li> 时,你告诉你的浏览器从域的根目录转到 about 路径(当你在 URL 前加上 / 时会发生这种情况), 在这种情况下是 http://localhost/.

有几件事你应该做。首先,为您的项目设置基础 URL,您可以在 .env 文件

中更新 APP_URL
APP_URL=http://localhost/admin_laravel

config/app.php.

中的url选项
'url' => env('APP_URL', 'http://localhost/admin_laravel'),

其次,在 Laravel 中生成 URL 时,有很多选项。如果你不使用命名路由,那么你应该使用 url 辅助方法来生成你的 URLs:

<li><a href="{{ url('about') }}">About</a></li>

这将确保您的 URL 位于项目的根目录,而不是域的根目录。当您将 url 与上述正确设置结合使用时,您的 URL 将正确生成。