模板命名空间

时间:2014-09-20 00:17:02

标签: templates laravel-4 blade

我在我的一个服务提供商处有这条线:

\View::addNamespace('foo', asset('/bar'));

但是使用以下行不会在我的Blade模板上呈现:

{{ HTML::image("foo::img.".$image, "Image") }}

它不是呈现上面的行,而是显示文字“foo :: img.animagesomwwhereinmysite.png”。有没有办法让这成为可能?

1 个答案:

答案 0 :(得分:0)

View::addNamespace仅告知您的服务提供商您存储视图的特定位置;该声明本身不会将任何内容传递给视图。 (参见docs。)

因此,当您调用帮助函数{{ HTML::image() }}时,它期望第一个参数是图像的URL。在您的情况下,您将URL指定为文字字符串“foo :: img.imagename”。

假设您的图片位于foo/img/目录中,这应该有效:

{{ HTML::image("foo/img/".$image, "Image") }}