1

我需要访问内容类型的特定字段,以便我可以相应地排序和显示我想要的内容。我没有可用的 Views 模块,因为我没有安装权限,所以我必须使用查询和一些 php 魔术来完成此操作。

我收到了一些关于 Drupal 7 字段表名的非常有用的信息,但似乎字段值的组织/约定以及它们的存储位置自 6 以来发生了变化。

我在 Drupal 7 中发现每个内容类型字段都存储在自己单独的表中。假设我有一个名为 group 的字段,表名将是“field_data_field_group”。

然而,当我尝试在我的 Drupal 6 站点上使用这个约定时,它说这个表不存在。

我的问题是存储的表字段的名称是什么?还是与 Drupal 7 完全不同的系统?谢谢参观。

4

1 回答 1

2

对于 Drupal 6,请查看以下几个地方:

  1. 在 Drupal 6 数据库中,查找名为content_[your_field_name]的表,例如 content_field_brief_description。执行 SELECT * 以查看该字段表的哪些行(如果存在)。

  2. 查找名为content_type_[your_content_type]的表,例如 content_type_resource。对那个表做同样的事情,看看你在那个表中是否有任何列作为字段,除了可能与该内容类型相关联的标题/正文。

让我们知道这是否有效!


编辑:

示例代码:

$result = db_query("SELECT * FROM {table_name}");
while ($row = db_fetch_array($result)) {
   // do something like drupal_set_message(var_dump($row));
}

保持大括号不变,但只需将其替换为您当前使用的表名......

于 2012-05-23T15:25:37.513 回答