“record.twig”中出现意外字符“$”

Ale*_*nik -1 php twig bolt-cms

我的树枝模板中有以下代码来操作数据库:

{%
    $tablename = $app['config']->get('general/database/prefix') . 'entries';
    $query = "UPDATE $tablename SET $views = ? WHERE id = ?";
    $views = record.views + 1;
    $stmt = $app['db']->prepare($query);
    $stmt->bindValue(1, $views);
    $stmt->bindValue(2, record.id);
    $res = $stmt->execute();
%}
Run Code Online (Sandbox Code Playgroud)

当我在浏览器中加载模板时,出现以下错误:

Twig_Error_Syntax
Unexpected character "$" in "record.twig" at line 18.
Run Code Online (Sandbox Code Playgroud)

为什么我会收到此错误?

小智 6

您不能在 Twig 模板中编写 PHP 代码。{% ... %} 标签允许您执行 Twig 代码,而不是 PHP 代码。无论如何,您不应该从模板内部访问数据库,这似乎是错误的。

如果您确实需要做类似的事情,您应该编写一个Twig 扩展并从 {% ... %} 标记内调用它。