laravel刀片如何在布局中将请求段合并到url路由器中?

     2023-03-15     267

关键词:

【中文标题】laravel刀片如何在布局中将请求段合并到url路由器中?【英文标题】:how laravel blade to merge request segment into url router in layout? 【发布时间】:2014-12-11 09:16:54 【问题描述】:

我在 Laravel 中开发,使用 Router、Request、Blade(我认为这些都是相关的)

我需要 layout.blade.php 中的产品过滤菜单

它确实像下面那样过滤和菜单

locations > east, west, south, north
category > shop, f&b, services
is_new > new, all

然后我将路由器制作如下

Route::get('/at/location_id?/location?/category_id?/category?/is_new?',array('as'=>'deals','uses'=>'HomeController@index'));

我的菜单上的当前解决方案

我需要 layout.blade.php 中的菜单并根据用户选择的位置、类别、is_new 生成 url。并且此布局也用于其他操作。

我不知道如何在布局上执行这些逻辑。我最后得到的解决方案有点诡计。

      <ul id='nav-category' class="dropdown-menu extended">
        @if (Request::segment(1)=='deals')
          @foreach (Deal::$categories as $category)
            <li><a href='route("deals",array("location_id"=>Request::segment(3),"location"=>Request::segment(4),"category_id"=>$category["id"],"category"=>Str::slug($category["title"])))'>$category['title']</a></li>
          @endforeach
        @else
          @foreach (Deal::$categories as $category)
            <li><a href='route("deals",array("location_id"=>"all","category_id"=>$category["id"],"category"=>Str::slug($category["title"])))'>$category['title']</a></li>
          @endforeach
        @endif
      </ul>

问题

使用 Request::segment 获取状态似乎不太正确 可能会有更多的条件进入并弄乱刀片

这应该是一个常见问题,但不知何故我找不到一个好的做法。有什么建议吗?

【问题讨论】:

【参考方案1】:

url中的参数可以使用;

Route::current()->parameter('location_id|location|category_id');

这意味着您永远不会限制更改路由中的 url 模式,只限于您所传递的参数。

有了Request::segment(1)=='deals',没有别的办法;

@if(Request::is('deals/*'))

因为这将检查 url 的模式是否以 'deals/' 开头。

【讨论】:

laravel:如何包含刀片布局中的部分?

】laravel:如何包含刀片布局中的部分?【英文标题】:laravel:howdoIincludepartialsfromabladelayout?【发布时间】:2014-06-2817:15:49【问题描述】:我想将我的布局拆分为部分。我正在创建默认刀片布局。该文件名为default.blade.php,位于layou... 查看详情

如何在控制器的会话中将值传递给视图刀片 PHP laravel?

】如何在控制器的会话中将值传递给视图刀片PHPlaravel?【英文标题】:HowtopassvalueinsessionatthecontrollertotheviewbladePHPlaravel?【发布时间】:2020-04-2909:12:09【问题描述】:我在控制器中有一个会话,它携带上一页的数据。目前,我想... 查看详情

如何根据输入请求规则在 laravel 刀片中显示错误消息

】如何根据输入请求规则在laravel刀片中显示错误消息【英文标题】:howtodisplayerrormessagesinlaravelbladebasedoninputrequestrule【发布时间】:2017-10-1118:58:40【问题描述】:在我的laravel5.4应用程序中,我有一个基本的输入表单,其中包含pa... 查看详情

laravel 刀片,如何附加到一个部分

】laravel刀片,如何附加到一个部分【英文标题】:laravelblade,howtoappendtoasection【发布时间】:2014-12-2407:09:12【问题描述】:如果你查看laravel官方文档http://laravel.com/docs/4.2/templates它说给这个布局:<!--Storedinapp/views/layouts/master.blad... 查看详情

如何在刀片 Laravel 中使用带参数的 url

】如何在刀片Laravel中使用带参数的url【英文标题】:HowtouseurlwithparameterinbladeLaravel【发布时间】:2017-11-0800:56:27【问题描述】:我尝试在我的master.blade.php中为不同的页面使用不同的样式表。当我使用简单的路线时,它可以工作... 查看详情

如何在python中将请求重定向到不同的url

】如何在python中将请求重定向到不同的url【英文标题】:HowdoIredirectarequesttoadifferenturlinpython【发布时间】:2011-01-3104:56:01【问题描述】:我一直在寻找将特殊url重定向到远程服务器以进行XSS测试的语法。有什么想法吗?importSimple... 查看详情

如何在 Laravel 4 中的 @if 语句(刀片)中获取当前 URL?

】如何在Laravel4中的@if语句(刀片)中获取当前URL?【英文标题】:HowtoGettheCurrentURLInside@ifStatement(Blade)inLaravel4?【发布时间】:2013-07-0914:17:11【问题描述】:我正在使用Laravel4。我想在使用Laravel的Blade模板引擎的视图中访问@if条... 查看详情

如何在 Laravel 中将变量从视图传递到控制器而不使用 URL 或表单

】如何在Laravel中将变量从视图传递到控制器而不使用URL或表单【英文标题】:HowpassavariablefromviewtocontrollerinLaravelwithoutusingtheURLorforms【发布时间】:2021-12-0819:39:38【问题描述】:如果我想在不使用URL的情况下从视图中将$k=1之类的... 查看详情

在 Laravel 中将刀片的变量大写

】在Laravel中将刀片的变量大写【英文标题】:Capitalizedablade\'svariableinLaravel【发布时间】:2016-04-0511:14:12【问题描述】:我以前经常使用smarty,现在转向Laravel,但我错过了一些真正有用的东西。你的模板中的修改是变量。假设我... 查看详情

无论控制器如何,如何在 Laravel 中将数据传递给布局?

】无论控制器如何,如何在Laravel中将数据传递给布局?【英文标题】:HowtopassdatatolayoutinLaravelregardlessofcontroller?【发布时间】:2014-04-0314:32:25【问题描述】:假设我得到了ControllerA和ControllerB,它们都实现了相同的布局。现在我... 查看详情

Laravel 路由动态路由控制器到刀片模板

】Laravel路由动态路由控制器到刀片模板【英文标题】:Laravelroutedynamicroutescontrollertobladetemplate【发布时间】:2014-04-2114:40:57【问题描述】:如何在我的刀片布局中显示控制器?我有250条从MySQL导入的动态路由。它们是使用以下控... 查看详情

如何在laravel中将列添加到现有表?

】如何在laravel中将列添加到现有表?【英文标题】:Howtoaddcolumntoexistingtableinlaravel?【发布时间】:2020-02-2112:14:03【问题描述】:我是laravel框架的新手。为了使博客URL对SEO友好,我需要在laravel网站的现有博客表中添加一个额外的... 查看详情

如何在 laravel 中通过 ajax/jquery 将刀片或 php 内容加载到视图中?

】如何在laravel中通过ajax/jquery将刀片或php内容加载到视图中?【英文标题】:Howtoloadbladeorphpcontentintoaviewviaajax/jqueryinlaravel?【发布时间】:2014-09-0820:53:31【问题描述】:正如标题所说,我正在尝试使用ajax请求在视图中动态加载内... 查看详情

phplaravel刀片布局。了解如何使用blade在laravel中快速创建布局:https://www.cloudways.com/blog/create-laravel-bl(代码片段)

查看详情

Laravel - 如何在视图中创建(匿名)动态刀片组件

】Laravel-如何在视图中创建(匿名)动态刀片组件【英文标题】:Laravel-howtocreate(anonymous)DynamicBladeComponentsinViews【发布时间】:2020-09-2819:50:36【问题描述】:使用Laravel7和新添加的刀片组件--我有一些返回数组的动态字段。在数组... 查看详情

我可以在刀片模板 laravel 5 中使用请求路径 URI 吗?

】我可以在刀片模板laravel5中使用请求路径URI吗?【英文标题】:CaniusetherequestpathURIinsidemybladetemplatelaravel5?【发布时间】:2016-11-1401:00:29【问题描述】:快速提问,想知道是否/如何在刀片模板中使用请求路径。目前使用Laravel5.2... 查看详情

如何在 Laravel 中将时间作为输入?

】如何在Laravel中将时间作为输入?【英文标题】:HowtotaketimeasaninputinLaravel?【发布时间】:2016-05-0909:49:51【问题描述】:我想使用我的laravel控制器将am/pm输入时间用于mysql。但问题是我已经从刀片视图中花费了时间,但是在使用d... 查看详情

Laravel 4:刀片布局中的 if 语句很奇怪

】Laravel4:刀片布局中的if语句很奇怪【英文标题】:Laravel4:ifstatementinbladelayoutworksstrange【发布时间】:2013-02-1921:33:07【问题描述】:如果我正常请求页面(不是ajax),为什么我会得到带有打印字符串“@extends(\'layouts.default\')”... 查看详情