Drupal 8 修改 Views 评论字段中评论和评论表单的格式与顺序

主题:
作者:anxin
日期:2018-07-21
分享:

Drupal 8 Views 中默认情况下评论列表在评论框的上面,在 Views 中评论列表和评论框是一个字段中配置,所以你无法通过修改 Views 中字段的顺序,来调整评论列表和评论框的顺序,你需要修改代码来调整评论列表和评论框的顺序,同样要修改评论的样式也需要修改代码。

1、Drupal 8 调整评论列表和评论框的顺序

如果需要把评论框显示在评论列表的上面,我可以使用如下 jQuery 代码:

jQuery(document).ready(function($) {
    $('.views-field-comment form').insertBefore($('.views-field-comment article:first'));
});

2、Drupal 8 为评论表单添加标题

默认情况下评论表单直接显示在评论的下面,评论表单没有标题,可以按照如下步骤添加标题。

1)为表单添加模板建议

默认表单没有模板建议(template suggestion),所有的表单都使用 form.html.twig 模板,在 template.php 中添加如下代码为表单添加模板建议:

function THEMENAME_theme_suggestions_form_alter(array &$suggestions, array $variables) {
    $suggestions[] = 'form__' . $variables['element']['#form_id'];
}

注:默认的评论的 form_id 为:comment_comment_form ,可以在如上函数中添加 kint($variables['element']) 查看 form_id。

2)在 form--comment-comment-form.html.twig 文件中添加表单标题,代码如下:

<h2 id="woyaopinglun">我的评论</h2>
<form{{ attributes }}>
  {{ children }}
</form>

3、Drupal 8 自定义 Views 评论字段的模板

Views 字段默认的模板建议,格式如下:

views-view-field--[views machine name]--[page or block machine name]--[field name].html.twig

只需要在相应的模版文件中,添加自定义代码即可。

本文链接:https://www.yuzhi100.com/article/drupal-8-views-pinglun-biaodan-geshi-shunxu

本文版权归知站所有,未经站长同意不得转载,谢谢尊重作者劳动成果!

作者:anxin