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

时间:2012-08-15 13:07:48

标签: php drupal drupal-7 drupal-computed-field

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

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

我需要在计算代码中显示哪些代码并显示代码区域?似乎我无法获得最简单的代码。

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

3 个答案:

答案 0 :(得分:1)

请注意“显示代码”部分中的帮助文本:

  

此代码应为$display_output变量指定一个字符串,   在显示字段时将打印。

而不是print $entity_field[0]['value']尝试$display_output = $entity_field[0]['value']

答案 1 :(得分:0)

我认为计算字段模块不适合您的需求。

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

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

http://drupal.org/node/752056

答案 2 :(得分:0)

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

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

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

如果您想要同时显示这两个值,并且您正在使用表格

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

如果不使用表格,但想要同时显示两个值

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