我刚刚安装了计算字段模块,我对如何使用它有点迷茫。我的内容类型中有 2 个字段:field_shortdesc
和 field_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 并编辑"重写结果"设置以显示两者。 确保"隐藏如果为空则重写"框,则未选中"无结果行为"下的框。