0

我有这个代码:

树枝模板:

<div class="content-items-wrapper">
    {% for item in home.latest_posts %}
        {% include "partials/content-item.twig" with item %}
    {% endfor %}
</div>

在我的主题文件中:

$context['home']['latest_posts'] = new Timber::get_posts([
    'posts_per_page' => 6,
]);

使用这些代码行时,我收到以下通知:

警告:array_merge():参数 #2 不是 //content/plugins/timber-library/vendor/twig/twig/lib/Twig/Environment.php(462) 中的数组:第 86 行的 eval() 代码

紧接着是一个致命错误:

可捕获的致命错误:传递给 Twig_Template::display() 的参数 1 必须是数组类型,给定 null,在 /content/plugins/timber-library/vendor/twig/twig/lib/Twig/Environment.php(462 ) : eval()'d 代码在第 86 行并在第 401 行的 //content/plugins/timber-library/vendor/twig/twig/lib/Twig/Template.php 中定义

奇怪的是:当我不使用 Twig 模板中的包含,而是直接使用这个包含的内容时,错误就消失了。同样,只需在包含的部分中放置一个字符(甚至没有)就会产生错误。

同样,当不使用时Timber::get_posts(),只是用正确的数据填充数组,我没有得到任何错误。

但显然两者都不是真正想要的解决方案:-)

这可能是什么?

PS:我有一个纯前端版本(运行 gulp-twig),由 JSON 数据提供,运行良好。

编辑:修复了示例(复制/粘贴错误)

4

2 回答 2

0

您不需要home.items$context['home']with$context['home']['latest_posts'] 一样添加上下文$context['posts']吗?

于 2017-05-30T08:38:14.033 回答
0

问题解决了!

换成 成功{% include "partials/content-item.twig" with item %}{% include "partials/content-item.twig" with { 'item' : item } %}

于 2017-05-30T12:35:56.923 回答