【问题标题】:Hide select in Drupal在 Drupal 中隐藏选择
【发布时间】:2021-08-18 13:54:10
【问题描述】:

我向我的用户实体和另一个实体(活动)添加了一个语言自定义字段(分类术语)。

该字段可以有 2 个值,英语和法语。 (用户可以同时拥有,activity只能拥有一个)

在“活动”视图中,我添加了一个公开过滤器(选择),以便用户可以过滤法语或英语活动。

结果:

如果用户只有 1 种语言,我想隐藏(或禁用)此选择。

如何正确实现这一点?我尝试了 pre_render 钩子,但我猜找不到合适的。

谢谢。

【问题讨论】:

  • 请显示您当前的代码以显示选择以及如何为用户检索语言列表。根据这些信息,我们可以提供帮助
  • 嗨,我没有用代码做这个,我使用了视图界面。我用我添加的过滤器的屏幕截图编辑了我的答案。

标签: php drupal drupal-8 drupal-views lms


【解决方案1】:

你应该试试这个钩子:

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;
        }
    }
}

【讨论】:

  • 你能告诉我如何实现这个吗?我对drupal有点新,我不知道我应该在哪个文件中写这个。
  • 你应该在你的活动主题目录中的 themename.theme 文件中写这个钩子
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-28
  • 2011-09-17
  • 2013-04-12
  • 2014-05-17
  • 2012-08-06
  • 1970-01-01
  • 2013-05-06
相关资源
最近更新 更多