在 Drupal 中隐藏 select
Hide select in Drupal
我向我的用户实体和另一个实体 (Activity) 添加了一个 语言 自定义字段(分类术语)。
此字段可以有 2 个值,英语和法语。 (用户可以同时拥有,activity只能拥有一个)
在“活动”视图中,我添加了一个公开的过滤器 (select),以便用户可以过滤法语或英语活动。
结果:
如果用户只有 1 种语言,我想隐藏(或禁用)此 select。
如何正确实现这一点?我尝试了 pre_render 钩子,但我想我找不到合适的钩子。
谢谢。
你应该试试这个钩子:
function themename_form_alter(&$form, FormStateInterface $form_state, $form_id) {
if (in_array($form_id, ['views_exposed_form'])) {
if ($form['#id'] == "views-exposed-form-custom-search-page-1") { // your form id
// your filter logic and return filter form value like
// $form["langugae"]["#options"] = $options;
}
}
}
我向我的用户实体和另一个实体 (Activity) 添加了一个 语言 自定义字段(分类术语)。
此字段可以有 2 个值,英语和法语。 (用户可以同时拥有,activity只能拥有一个)
在“活动”视图中,我添加了一个公开的过滤器 (select),以便用户可以过滤法语或英语活动。
结果:
如果用户只有 1 种语言,我想隐藏(或禁用)此 select。
如何正确实现这一点?我尝试了 pre_render 钩子,但我想我找不到合适的钩子。
谢谢。
你应该试试这个钩子:
function themename_form_alter(&$form, FormStateInterface $form_state, $form_id) {
if (in_array($form_id, ['views_exposed_form'])) {
if ($form['#id'] == "views-exposed-form-custom-search-page-1") { // your form id
// your filter logic and return filter form value like
// $form["langugae"]["#options"] = $options;
}
}
}