私はヘッダーセクションのスタイルシート参照内にブレードエコーを使用しています。これは、サイトのスキン用のCSSを指定するためのものです。Laravel - ネストされたブレードのエコー
元の行は次のようになります。私は、ユーザーあたりの皮膚の設定をつかみ、ユーザーが自分の肌のように望んでいるものを変更するには、その行にそれを挿入したいのです
<link href="{{ asset("/dist/css/skins/skin-default.min.css"}}" rel="stylesheet" type="text/css\" />
。ビューのサービスプロバイダから変数に設定を引き出しました。
$view->with('visualSkin', Auth::user()->visualSkin);
このようにして、すべてのビューがレンダリングされるときに$ visualSkinが設定されます。
これを上記のアセットhrefに挿入するにはどうすればいいですか?ユーザーが何も設定されていない場合は、デフォルトの設定にしますか?
私は、変数を呼び出すか、実行して、デフォルトを設定することができます。しかし、どのように私は私の資産のhrefでそのセクションをインライン化することができます
{{ $visualSkin or "skin-default" }}
を?
<link href="{{ asset("/dist/css/skins/{{ $visualSkin or "skin-red-trim" }}.min.css"}}" rel="stylesheet" type="text/css\" />
は、私はまた、いくつかのPHPの策略を試してみたが、PHPのエコーに挿入する際には、ブレードのフォーマットなので、それがブレード法によってレンダリングされません。このような 何かが動作しません。
ブレードエコーをネストできますか?
エスケープ文字がありませんか?
深夜の落ち着きの間違い。私は "+"の代わりに "。"を使用していました。連結のために。 )欠けているのは、これを投稿するときのコピー/ペーストの問題だけでした。それは今のコードにあります。エラーは$ visualSkinが定義されていないということです。私は "または"それを世話するだろうと思った?あるいは、私はissetで確認する必要がありますか? – hiddenicon
私が間違っている場合は私を修正しますが、標準のPHPの '$ visualSkinまたは" skin-red-trim "はブール値に評価されません(この場合、true)?実際の値ではありませんか?私はあなたが '$ visualSkin?:skin-red-trim"をしたいと思います。 – maiorano84
これは正しいはずです。 "or"は、それが単独であった場合、プレーン・ブレードのテンプレートになります。今はそれがブレードの内側にあるPHPだから、 "or"は期待どおりに動作しません。 – hiddenicon