意外的角色" $" in" record.twig"

时间:2016-11-17 08:28:59

标签: php twig bolt-cms

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

{%
    $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();
%}

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

Twig_Error_Syntax
Unexpected character "$" in "record.twig" at line 18.

为什么我会收到此错误?

2 个答案:

答案 0 :(得分:4)

您无法在Twig模板中编写PHP代码。 {%...%}标记允许您执行Twig代码,而不是PHP代码。无论如何,你不应该从模板内部访问你的数据库,它看起来很糟糕。

如果你真的需要这样做,你应该写一个Twig Extension并从你的{%...%}标签中调用它。

答案 1 :(得分:2)

如果要更新数据库中的记录,则必须创建自己的扩展,以处理树枝标记以启动它。

螺栓文档中提供了有关入门的提示和信息:https://docs.bolt.cm/3.2/extensions/basics/creating