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

问题描述 投票:0回答:3

我想知道如何获取我的自定义内容类型'mypop'的字段值。我尝试了所有的方法在谷歌,但我不知道如何使用,例如,我试过的函数node_load,我不能能够知道在哪里写这个函数,什么是参数,并尝试EntityFieldQuery太。能不能让我知道怎么做简单的解释一下.Thanks in Advance.

drupal-7
3个回答
0
投票

绝对是一个非常广泛的问题。假设你已经创建了 "mypop "这个内容类型,我想最简单的步骤是:1:

  1. 确保你已经创建了一些内容类型的内容。
  2. 自定义该内容类型的 "管理显示",并确保你想要的字段在那里被设置为可见。

一旦你这样做,当你查看该内容类型的节点时,这些字段应该是可见的了。如果你想进一步自定义视图,你可能应该自定义该特定内容类型的模板文件(有其他选项,但尽量保持简单)。

要做到这一点,复制 "node.tpl.php "文件,你会发现在modulesnode文件夹到你的主题模板文件夹,并改变它的名称为 "node--mypop.tpl.php"。

这样一来,你就会覆盖Drupal的默认显示模板,只用于特定的内容类型。现在你基本上可以把它调整成任何你想要的样子。

希望这能帮到你


0
投票

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


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文件中写一个普通的函数。在任何地方调用它,你可以选择,比如,在菜单回调中。

© www.soinside.com 2019 - 2024. All rights reserved.