以节点的语言过滤评论

Filter Comments in the language of the node

我把评论放在节点上,但我对评论没有按语言过滤这一事实感到困惑。我没有找到解决方案。

当我在法语页面上时,我得到了法语评论和中文评论。

此外,当您 post 在中文页面上发表新评论时,声明该评论是中文的,则会重定向到节点的默认语言(此处为法语)。我用钩子解决了这个问题...

但无论语言节点是什么,我的内容仍然是混合语言。我尝试了不同的挂钩(hook_comment_view_alter 或 hook_comment_load),我在呈现之前看到了评论,但我无法删除我所在页面的不同语言的评论。那么有没有办法过滤基本Drupal8评论系统上的评论?

我使用 hook_query_TAG_alter 找到了解决方案(所以 hook_query_comment_filter_alter 用于评论)。

看这里: https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Database%21database.api.php/function/hook_query_TAG_alter/8.3.x

我在这里的完整解决方案:

function hook_query_comment_filter_alter(Drupal\Core\Database\Query\AlterableInterface $query) {
    $clangcode = \Drupal::service('language_manager')->getCurrentLanguage(\Drupal\Core\Language\LanguageInterface::TYPE_CONTENT);
    $query->condition('langcode', $clangcode->getId());
}

您可以用一些 "use".

剥离命名空间