我正在使用Laravel 5.4中的多语言应用程序
template.blade.php
<title>@yield('title')</title>
然后在其他页面中,我尝试根据用户区域设置以动态方式设置磁贴。当我尝试使用以下内容时抛出错误:
@section('title',{{ __("dashboard") }})
或
@section('title', @lang("dashboard"))
这是错误:
Parse error: syntax error, unexpected '<'
任何人都可以告诉我如何在@lang
__('')
或@section()
作为参数传递
答案 0 :(得分:3)
你所拥有的参数应该是php。因此,当你放入@lang或{{}}时,它会在已打开的php标签内打开php标签 因此,您可以做的只是将__()放在括号中。就像那样:
@section('title', __('dashboard'))
答案 1 :(得分:1)
您可以使用trans
代替lang
装饰器:
@section('title', trans("dashboard"))
或强>
您也可以使用__
这样的功能:
@section('title', __("dashboard"))
您不需要使用{{}}
,因为您没有在另一个指令中使用它。
答案 2 :(得分:0)
实际上,@section
不提供显式参数传递。
但是,您想要的是将参数传递给包含模板,而不是传递给产量,因此在刀片的开头:
@extends('my_parent',['my_parameter'=>'my_value'])