之前一直很好用,但我刚刚更新了所有的作曲家文件,现在我对Laravel Blade有点问题。 Laravel版本为5.4.28
。
我有这个部分(calculator/leopardgeckos/partials/ogtags.blade.php
):
<link rel="canonical" href="https://reptimatecalculator.com" />
<meta property="fb:app_id" content="1795251550755689">
<meta property="og:url" content="https://reptimatecalculator.com" />
<meta property="og:type" content="website" />
<meta property="og:locale" content="en_GB" />
<meta property="og:title" content="ReptiMate - Leopard Gecko & African Fat Tail Gecko Genetics Calculator" />
<meta property="og:description" content="ReptiMate Calculator was built from the ground up to create an accurate genetics calculator for Leopard Geckos & African Fat Tailed Geckos. You'll get a list of outcomes including percentage chance of recessive genes being carried over, a punnet square of genetics and also a percentage table denoting likelihood of certain combos hatching." />
<meta property="og:image" content="{{ url('images/reptimate-og-image.jpg') }}" />
我试图在我的布局文件中调用它,如下所示:
@yield('ogtags', View::make('calculator.leopardgeckos.partials.ogtags'))
因此,如果在其他模板文件的ogtags
部分中未设置任何内容,则默认为此部分。
然而,它实际上正在做的是将其打印到屏幕上:
我无法弄清楚导致我的错误的原因,这一段时间以来一直运作良好。有没有其他人遇到这个?
答案 0 :(得分:2)
修改强>
我现在正在更新这个,因为Taylor已经标记了框架的更新。在v5.4.28中,标记为"Escape default value passed to @yield directive"
的更改在此处引用 - https://github.com/laravel/framework/pull/19643
以下内容可能仍然有效,但您应该能够通过View
或View::make
(尚未经过测试)作为我原始问题中的第二个参数,没有任何问题现在。
我设法通过更改此行来解决此问题:
@yield('ogtags', View::make('calculator.leopardgeckos.partials.ogtags'))
为:
@yield('ogtags', new Illuminate\Support\HtmlString(view('calculator.leopardgeckos.partials.ogtags')))
答案 1 :(得分:-2)
应该是:
new Illuminate\Support\HtmlString(View::make('calculator.leopardgeckos.partials.ogtags')
@yield('ogtags', new Illuminate\Support\HtmlString(View::make('calculator.leopardgeckos.partials.ogtags'))