2017-07-04 96 views
1

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

当我在法语页面上时,我收到了法语的评论,但也收到了中文的评论。

此外,当您在中文页面上发布新评论时,说明评论为中文,则会重定向到节点的默认语言(这里是法文)。我用钩子修复了这个问题...

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

回答

2

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

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

你可以用一些 “使用” 剥离的命名空间。