从drupal获取内容类型的字段值

时间:2015-03-06 06:01:35

标签: drupal-7

在这里,我想知道如何获取自定义内容类型“mypop”的字段值。我尝试了谷歌中的所有方法,但我不知道如何使用,例如我尝试了函数node_load,我无法知道在哪里编写这个函数,参数是什么,并尝试了EntityFieldQuery。我可以在简短的解释中知道如何做到这一点。 在此先感谢。

3 个答案:

答案 0 :(得分:0)

绝对是一个非常广泛的问题。假设您已经创建了内容类型“mypop”,请考虑最简单的步骤:

  1. 确保您创建该内容类型的一些内容
  2. 自定义该内容类型的“管理显示”,并确保将所需字段设置为可见
  3. 执行此操作后,当您查看该内容类型的节点时,这些字段应该是可见的。如果您想进一步自定义视图,您可能应该为该特定内容类型自定义模板文件(还有其他选项,但尝试尽可能简化)。

    要执行此操作,请将您在modules / node文件夹中找到的“node.tpl.php”文件复制到主题模板文件夹,并将其名称更改为“node - mypop.tpl.php”。< / p>

    这样,您将仅为该特定内容类型覆盖Drupal的默认显示模板。现在你可以基本上把它调整到你想要的任何地方。

    希望这有帮助!

答案 1 :(得分:0)

非常感谢Alberto。它现在正在工作!我还有另一个问题,它也被清除了,现在它工作正常!另一个问题是当我打开其他内容的视图编辑时自动调用javascript。现在通过覆盖此模板文件,它也会被清除。谢谢!

答案 2 :(得分:0)

node_load取节点ID。因此,为了使用noad_load()函数,您应首先撤消节点ID。如果您使用 noad_load_multiple(),则会更好。

// Query all of the nids of a particular content type.
  $nids = db_select('node', 'n')
    ->fields('n', array('nid'))
    ->condition('type', 'Article', '=')
    ->execute()
    ->fetchCol();

  // Get all of the article nodes.
  $nodes = node_load_multiple($nids);

您可以通过 print_r($ nodes)查看结果。只需在.module文件或.inc文件中编写一个普通函数。随时随地都可以选择。比如,在菜单回调中。