在主题文件中写入查询

时间:2018-01-22 07:00:46

标签: database themes instance concrete

我是具体的新人。我想在主题文件中添加一个条件,如果status为true,那么我的代码将运行。但问题。我无法在主题header.php文件上创建数据库实例。 在我的主题路径下面,这里我想创建数据库实例和写查询。

gravity="center"

1 个答案:

答案 0 :(得分:1)

根据您希望实现的目标,Concrete5中有不同的解决方案。

页面属性
有页面属性。
https://documentation.concrete5.org/editors/dashboard/pages-and-themes/attributes
页面属性允许管理员或编辑者在页面上设置参数 您可以通过调用:

轻松地从模板中获取页面属性
$response = $c->getAttribute('attribute_handle');

https://documentation.concrete5.org/developers/working-with-pages/getting-data-about-a-page

页面属性的一大亮点是,编辑器可以更改页面设置中的值,并可以在创建页面时设置值(请参阅页面模板和默认值)。

默认值(页面模板级别的属性)
如果您有一组要在true上设置参数的页面,则可以创建页面模板并将页面属性默认设置为true。

参见仪表板 - >页面和主题 - >页面模板 - >默认
https://documentation.concrete5.org/editors/dashboard/pages-and-themes/page-templates/defaults

通过调用与上面相同的代码来获取主题中的属性值。

自定义查询
如果你真的没有其他选择而不是做自定义查询,你真的想在你的主题中运行查询...使用此代码:

<?php
  $db = \Database::connection();
  //get a single row
  $foo = $db->fetchAssoc('SELECT * FROM Pages WHERE cID = ?', array(184));

  //get a multiple rows
  $foo = $db->fetchAll('SELECT * FROM Pages');
  ?>

(此代码在最新的concrete5版本8.x.x上测试)