如何根据另一个字段的返回禁用字段的输出?

时间:2011-01-27 23:23:05

标签: drupal drupal-views

在我的视图中有些字段我宁愿隐藏,具体取决于另一个字段的值。我正在寻找在代码中执行此操作的方法,或者不使用启用php过滤器。

3 个答案:

答案 0 :(得分:1)

我不知道您使用的是哪个版本的视图。我不记得输出重写是否在V2中可用,但我认为是。在V3中,它就在那里,等着你使用它。

输出重写接受任何HTML代码,您可以使用查询返回的替换。我不确定你可以在那里使用PHP,也许你可以,但我从来没有真正尝试过。无论如何,假设您有field_foofield_bar,并且两者都是一些选择选项或复选框或其他一些多项选择事物,在数据库中具有键值对(如1 | foo,2 |吧等。)。

在这种情况下,您应该有四个选项:

[field_foo_value]
[field_foo_value_raw]
[field_bar_value]
[field_bar_value_raw]

(它们可能会有点不同,我不太记得确切的命名约定)。您可以像这样重写“bar”字段输出:

<span class="visibility-[field_foo_value_raw]">[field_bar_value]</span>

然后,假设“foo”的可能键是1和2,你可以写一些CSS:

span.visibility-1 { display: inline; }
span.visibility-2 { display: none; }

如果允许PHP,它应该更容易,但我觉得你只能使用HTML。无论如何,我希望这会有所帮助。

答案 1 :(得分:0)

使用hook_form_alterhook_form_FORM_ID_alter,您可以更改views_exposed_form表单。从那里,it should be possible使用CTools'Dependent来设置字段之间的可见性依赖关系。视图的公开表单布局在主题层中部分处理(请参阅views-exposed-form.tpl.php),因此可能需要更多工作来隐藏/显示标签。

答案 2 :(得分:0)

这个模块可以像你需要的那样接缝。我已经使用它,它易于设置和快速使用。

http://drupal.org/project/conditional_fields