php – 获取模板目录Timber / Twig

我有一个简单的树枝模板设置,用于显示一个简单的菜单.我这里的图像是静态的,我想使用模板目录路径为图像src.但是,当我使用{{theme.link}}时,它显示为空白.也许我正在引用错误的东西.代码如下:

<?php 
      $context['menu'] = new TimberMenu('main-nav');
      Timber::render('templates/menu.twig', $context);
   ?>

和下面的树枝模板:

 <ul>
    {% for item in menu.get_items %}
    <li class="{{item.classes | join(' ')}}">
      <a href="{{item.get_link}}">{{item.title}}</a>
    </li>
    {% endfor %}
 </ul>
 <img src="{{theme.link}}/assets/images/test.png" alt="">

我知道我可以将目录传递给上下文,但我很好奇为什么内置函数不起作用.可能是简单的事情.第一次看着树枝,所以仍然习惯它.任何帮助非常感谢!谢谢

最佳答案 @verdond2:为了使用{{theme}}对象(及其属性),您需要从PHP文件中的默认Timber上下文开始…

<?php
  $context = Timber::get_context();
  $context['menu'] = new TimberMenu('main-nav');
  Timber::render('templates/menu.twig', $context);
  ?>
点赞