27

@yield@sectionを使用して属性を設定しようとしていますが、どうすればよいですか? 使ってみた

<html @yield('mainApp')>

@section('mainApp','id="myid"')

しかし、id="myid"を返します。id="myid"の代わりに

デフォルトIDで管理できることはわかっていますが、この方法は好きではありません。また、カスタム属性を使用する必要がある場合はどうすればよいですか?

4

17 に答える 17

5

使用している Laravel のバージョンは? Laravel 5.4 では、これに関する更新があります。

@section エスケープ

Laravel 5.4 では、セクションに渡されたインライン コンテンツは自動的にエスケープされます。

@section('タイトル', $content)

エスケープされていないコンテンツをセクションに表示する場合は、従来の「長い形式」のスタイルを使用してセクションを宣言する必要があります。

@section('タイトル') {!! $content !!} @ストップ

https://laravel.com/docs/5.4/upgrade

長い短い話ですが、Laravel 5.4を使用してから、このコードを使用してみてください

@section('mainApp')
    id="myid"
@stop
于 2017-02-24T09:56:11.770 に答える
0

HtmlStringこの種のものに使用できるクラスがあり、Laravel はそれをcsrf_field()やなどに使用しmethod_field()ます。

必要に応じてインライン化できます。

@section('mainApp', new \Illuminate\Support\HtmlString('id="myid"'))

ただし、このためのカスタムヘルパーを個人的に作成して、より簡単にアクセスできるようにします。

@section('mainApp', html_string('id="myid"'))

ヘルパーは次のようになります。

function html_string($string) {
    return new \Illuminate\Support\HtmlString($string);
}

カスタム ヘルパーの作成についてサポートが必要な場合は、この回答https://stackoverflow.com/a/28290359/7844646を確認してください。

于 2017-04-19T18:00:33.980 に答える
-1

1行で教えてください。

開始セクション名は yield('Section Name') にする必要があります

于 2017-04-26T11:40:26.477 に答える