【发布时间】:2019-12-12 22:48:16
【问题描述】:
我有这条路线:
Route::get('/{language}/{housingType}/{housingUrl}', 'HousingInfoController@index');
示例:http://localhost/project/public/es_ES/H/this-is-housing-url
有时它可以有一个像这样的参数: http://localhost/project/public/es_ES/H/this-is-housing-url?group=ESQ
然后在我的控制器上检查这个参数是否存在:
$group = '';
if ($request->input('group')) {
$group = $request->input('group');
}
并将其发送到视图:
return view('pages.HousingInfo.index', ['group' => $group]);
在我的 HousingInfo 视图中我这样做:
@section('group', $group)
我的 HousingInfo 视图也是从一个布局扩展而来的,该布局包括一个头部,它是一个带有标题、描述、元标记以及 css 的文件。 我有一个:
@yield('group')
所以我可以知道在 url 上发送了哪个参数。
我的问题是我不能使用 IF 语句的产量来根据该参数显示一个或另一个 css,我该如何实现?
这给了我错误:
@if(@yield('group') == 'ESQ')
<link rel="stylesheet" href="{{ asset('css/ESQ.css') }}">
@else
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
@endif
【问题讨论】:
-
@if ($group == 'ESQ')工作吗? -
是的,它有效,很难我必须通过 yield 传递变量以便它被识别,现在它令人困惑
-
@yield用于在生成的 HTML 页面上输出文本。@yield('x')相当于<?php echo 'Contents of section X' ?>。
标签: laravel laravel-blade