如何在 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() }}
我想要做的是有一个页面列出我数据库中的一些数据(数据与 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() }}