首页 文章

Laravel:在1个刀片文件中导航

提问于
浏览
1

我目前正在开发一个新项目,这是我第一次使用Laravel . 我创建了几个刀片文件(视图)并添加了视图的路径 . 因为有这么多页面我希望将我的导航内容放在一个文件中,称为基本文件 . 我在每个视图中扩展了base.blade.php文件,所以我的导航到处都是一样的 . 但是,我现在遇到的问题是某些链接无效,并且没有路由(因为它们指向不同的位置) . 在一个文件中链接到其他刀片文件(和视图)的最佳方法是什么?我现在拥有的:

我的路线

Route::get('/jaarhoroscoop', function () {
    return view('jaarhoroscoop');
});

我的导航文件

<li>
    <a class="headnavitem" href="jaarhoroscoop">Jaarhoroscoop</a>
</li>

因此,当我在索引文件上时,它会将我链接到“jaarhoroscope”的视图 . 但是当我在一个不同视图和另一个目录的页面上时..

Route::get('/chinese-horoscopen/jaarhoroscoop-2016-2017', function () {
    return view('chinese-horoscopen.jaarhoroscoop-2016-2017');
});

像上面的观点一样,它将带我到public / chinese-horoscopen / jaarhoroscoop . 我不能说得对..谁可以帮助我?我想要的是,如果我在上面的路线,我会去public / jaarhoroscoop而不是public / chinese-horoscopen / jaarhoroscoop .

谢谢!

2 回答

  • 2

    如果我理解你的问题 . 当您在(root)/并单击作为示例'categories'时,roote变为/ categories . 当您在/ categories中并单击其他导航链接时,它会将其附加到/ categories而不是根目录 .

    我给出的解决方案是:
    1.为您的路线命名,以便在整个网站上使用

    Route::get('/jaarhoroscoop', [
        'as'   => 'jaarhoroscoop.show',
        'uses' => 'JaarhoroscoopController@index'
    ]);
    

    2.在您的视图或导航视图中,创建如下链接:

    <a href="{{ route('jaarhoroscoop.show', ['parameter' =>'value']) }}">Jaarhoroscoop</a>
    

    我添加了一个参数但你可以在你的情况下避免它 .
    编辑:
    如果您不想使用控制器:

    Route::get('/jaarhoroscoop', function () {
        return view('jaarhoroscoop');
    })->name('jaarhoroscoop.show');
    
  • 0

    Laravel还有一个名为url的辅助函数,它可以生成绝对URL而不是使用相对URL,这会产生像你所面临的问题 . 您需要做的就是这个(假设您也使用刀片导航文件)

    <a class="headnavitem" href="{{ url('jaarhoroscoop') }}">Jaarhoroscoop</a>
    

    否则你可以做vanilla php文件:

    <a class="headnavitem" href="<?php echo url('jaarhoroscoop') ?>">Jaarhoroscoop</a>
    

    这将始终生成输出:

    <a class="headnavitem" href="your_website.com/jaarhoroscoop">Jaarhoroscoop</a>
    

相关问题