尝试理解 Drupal 7 计算字段模块


Trying to understand the Drupal 7 computed fields module

我刚刚安装了计算字段模块,我对如何使用它有点迷茫。我的内容类型中有 2 个字段:field_shortdescfield_audio_description

如果field_shortdesc为空白,我需要显示field_audio_description,反之亦然。

我需要将哪些代码放入计算代码和显示代码区域?似乎我甚至无法让最简单的代码工作。

例如,如果我将$entity_field[0]['value'] = "test";放在计算区域中,然后将print $entity_field[0]['value'];放在显示代码区域中,则不会打印出任何内容。显然我做错了什么。

请注意,

"显示代码"部分中的帮助文本指出:

此代码应将字符串分配给$display_output变量, 这将在显示字段时打印。

与其print $entity_field[0]['value']尝试$display_output = $entity_field[0]['value']

我不认为计算字段模块不是适合您要求的解决方案。

在我看来,使用Ajax状态系统是最好的选择。

http://colorado2010.camps.drupal.org/drupalcampcolorado.org/sessions/dynamic-forms-drupal-7-ajax-and-states.html

http://drupal.org/node/752056

如果您谈论的是在使用字段的视图中显示值,而不是查看节点,则可以通过视图设置更轻松地执行此操作,而无需添加其他字段。

如果只想显示一个默认值,即使两者都存在

  • 将字段 1(可选字段)添加到视图,但从显示中排除
  • 将字段 2(默认字段)添加到视图中并编辑"无结果"行为",以在字段 2 为空时显示字段 1 的值。

如果要显示两个值(如果两者都存在),并且您正在使用表

  • 两个字段添加到视图中,但在表格设置中,使用任何合适的分隔符,将字段 1 的显示与字段 2 放在同一列中。 如果一个字段或另一个字段为空,则视图似乎足够智能,不会输出分隔符。

如果不使用表,但希望同时显示两个值

  • 添加字段 1 并从显示中排除。
  • 添加字段 2 并编辑"重写结果"设置以显示两者。 确保"隐藏如果为空则重写"框,则未选中"无结果行为"下的框。