我把评论放在节点上,但我对这些评论没有按语言过滤的事实感到困惑。而且我找不到解决方案。
当我在法语页面上时,我收到了法语和中文的评论。
另外,当您在中文页面上发布新评论时,说明评论是中文的,那么重定向到节点的默认语言(这里是法语)。我用钩子修复了这个问题...
但无论语言节点是什么,我仍然有一种混合语言的内容。我尝试了不同的钩子(hook_comment_view_alter或hook_comment_load),我在渲染之前看到了注释,但是我无法删除我所在页面的不同语言的注释。那么有没有办法过滤基本Drupal8评论系统的评论?
答案 0 :(得分: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());
}
您可以使用“use”删除命名空间。
答案 1 :(得分:1)
我使用hook_query_TAG_alter找到了解决方案(所以请注意hook_query_comment_filter_alter)。