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

时间:2018-07-24 08:42:57

标签: php laravel laravel-5 laravel-4 laravel-5.2

我正在研究Laravel 5.4 我创建了一个菜单,其中有三个选项卡主页,关于和联系。当我单击主页时,它应该在主页上。单击“关于”时,它应该在“关于”页面上。...

web.php:

<?php

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

**方法1是资源\视图中的文件夹**

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

menu-header.blade.php是:

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

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

我的laravel projet文件夹名称为 admin_laravel 。当我运行http://localhost/admin_laravel/时,它显示主页,而当运行http://localhost/admin_laravel/about时,它显示页面。

但是,当我单击关于菜单按钮时,浏览器中会显示链接 http://localhost/about 。表示它与 http://localhost/admin_laravel/about 无关,并且页面未显示。

2 个答案:

答案 0 :(得分:2)

您在那里缺少任何东西,可以通过以下快速修复方法:

<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

答案 1 :(得分:2)

您正在对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帮助方法来生成您的URL:

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

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