首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Latte:找不到过多的参数

Latte:找不到过多的参数
EN

Stack Overflow用户
提问于 2020-05-05 20:41:32
回答 1查看 36关注 0票数 0

我尝试使用latte模板引擎。我注册了引擎,并尝试使用参数呈现一个模板:

代码语言:javascript
复制
$latte = new Latte\Engine;

$events = new Event((new Config())->connectDB());
$result = $events->getAll();

$latte->render('templates/events.latte', $result);

这是模板文件中的零件:

代码语言:javascript
复制
{layout 'base.latte'}

{block title}Veranstaltungsübersicht{/block}

{block content}
  {foreach $result as $row}
....

当我尝试这样做时,我会得到这样的错误:

代码语言:javascript
复制
Notice: Undefined variable: result in ...../vendor/latte/latte/src/Latte/Engine.php(179) : eval()'d code on line 60

但是,当我直接在$latte之前创建一个var_dump($result)时,我得到的结果是:

代码语言:javascript
复制
array(1) { [0]=> array(8) { ["address"]=> string(38) "Street" ["date"]=> string(10) "2015-05-15" ["desc"]=> string(20) "sadfasdfasdfasdfasdf" ["event_participant"]=> int(25) ["id"]=> int(1) ["name"]=> string(12) "Church" ["reservation_date"]=> string(10) "2015-05-10" ["church_id"]=> int(1) } }

所以我不明白。为什么latte找不到$result变量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-05 20:47:30

在当前代码中,您没有将该$result数组的“名称”传递给模板,只将数组本身传递给了模板。因此,您的呈现引擎不知道该变量的名称,而只知道内容。

要使其正常工作,请将render调用更改为:

代码语言:javascript
复制
$latte->render('templates/events.latte', ['result' => $result]);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61613412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档