【问题标题】:Use image from theme/image folder in twig template在树枝模板中使用主题/图像文件夹中的图像
【发布时间】:2018-02-20 18:09:51
【问题描述】:

我想包含来自custom_theme/images 文件夹的图像,其中custom_theme 是根据grav 文档创建的自定义主题。

twig 模板是部分模板,摘录如下:

<!-- Logo -->
<a class="navbar-brand" href="./">
    <img class="logo logo-dark" alt="" src="/images/logo.png">
    <img class="logo logo-light" alt="" src="/images/logo-light.png">
</a>
<!-- #end Logo -->

src中应该使用什么来引用这个图像文件:/user/themes/custom_theme/images/logo.png

【问题讨论】:

    标签: twig grav


    【解决方案1】:

    你看过Grav documentation吗?我在搜索字段中输入了“图片”并找到了这个:

    Twig Filters & Functions

    Url

    将创建一个 URL 并将任何 PHP URL 流转换为有效的 HTML 资源。如果无法解析 URL,可以传入默认值。

    url('theme://images/logo.png')|default('http://www.placehold.it/150x100/f4f4f4')/user/themes/learn2/images/logo.png

    所以你应该有:

    <!-- Logo -->
    <a class="navbar-brand" href="./">
        <img class="logo logo-dark" alt="" src="{{ url('theme://images/logo.png') }}">
        <img class="logo logo-light" alt="" src="{{ url('theme://images/logo-light.png') }}">
    </a>
    <!-- #end Logo -->
    

    如果您愿意,您可以使用基本的default Twig filter 在找不到图片时提供备用网址。如果不使用default过滤,找不到图片,url函数将什么都不返回(或者实际上null,但是会被转换成一个空字符串),可以看出在source code of the url function

    【讨论】:

    • 谢谢,为回应您的回答,是的,我看过了,我浏览了 mediaimage linking grav 文档部分。
    • 没问题!乐意效劳。我希望我的问题没有显得傲慢。
    • 完全没有,我只是想指出我决定研究的地方。
    猜你喜欢
    • 2013-04-30
    • 2016-05-11
    • 2016-02-04
    • 1970-01-01
    • 1970-01-01
    • 2018-08-10
    • 2016-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多