如何在 Bolt CMS 中 运行 自定义 PHP 代码?

How to run custom PHP code in Bolt CMS?

我想要做的是有一个页面列出我数据库中的一些数据(数据与 Bolt 是分开的)。

我研究了扩展,但我没有看到任何方法来制作 "page",只能创建 "snippets"。但是片段实际上不会显示在内容区域中,您只能将它们添加到 <body> 标记之后或 <head> 中。而且看起来它们出现在每一页上,而不是页面上。

是否可以在页面上 运行 一些自定义 PHP 代码来从数据库中获取一些数据并显示它?有没有人有一个简单的例子?

这是扩展的用途,但片段不是您想要的。

Bolt 是一个 Silex 应用程序并带有一个 Doctrine DBAL 提供程序,因此您只需使用 $app['db'] 即可访问 \Doctrine\DBAL\Connection 对象,您可以使用该对象查询您的 table,例如

    $resultArray = $this->app['db']->createQueryBuilder()
        ->select('*')
        ->from($tableName)
        ->where('my_column_1  = :my_column_value_1')
        ->andWhere('my_column_2  = :my_column_value_2')
        ->orderBy('my_column_3', 'DESC')
        ->setParameter(':my_column_value_1', $value1)
        ->setParameter(':my_column_value_1', $value2)
        ->execute()
        ->fetch(\PDO::FETCH_ASSOC);

然后您可以对数据执行您想要的操作,并在您认为合适的情况下在 Twig 中进行渲染。

有大量关于 creating extensions with Twig functions 的文档,您可以将其放入模板 {{ my_twig_function() }}