在我的视图中有些字段我宁愿隐藏,具体取决于另一个字段的值。我正在寻找在代码中执行此操作的方法,或者不使用启用php过滤器。
答案 0 :(得分:1)
我不知道您使用的是哪个版本的视图。我不记得输出重写是否在V2中可用,但我认为是。在V3中,它就在那里,等着你使用它。
输出重写接受任何HTML代码,您可以使用查询返回的替换。我不确定你可以在那里使用PHP,也许你可以,但我从来没有真正尝试过。无论如何,假设您有field_foo
和field_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_alter
或hook_form_FORM_ID_alter
,您可以更改views_exposed_form
表单。从那里,it should be possible使用CTools'Dependent来设置字段之间的可见性依赖关系。视图的公开表单布局在主题层中部分处理(请参阅views-exposed-form.tpl.php),因此可能需要更多工作来隐藏/显示标签。
答案 2 :(得分:0)
这个模块可以像你需要的那样接缝。我已经使用它,它易于设置和快速使用。