Drupal 7中的可折叠评论

时间:2011-06-13 06:52:54

标签: drupal drupal-7

我正在使用最新的Drupal 7.2核心,我不知道如何解决我的问题。我想折叠所有节点注释(有很多节点注释)并在用户按下“显示注释”时为用户公开它们。我知道它与fieldsets有关(或者我错了),但是在哪里,什么以及如何?

我们将不胜感激。 提前谢谢。

4 个答案:

答案 0 :(得分:1)

我向其中一位撰稿人写了一封乞讨私信,他在D7中发布了可折叠评论的工作解决方案 - http://drupal.org/node/94035#comment-4674734

答案 1 :(得分:1)

所以我尝试了一些建议here的方法。

我最终做的事情是因为我试图基本上将所有comments内容放入可折叠字段集中,这里概述了:

  1. 进入Content Type -> Manage Display
  2. 创建一个名为Comments的空字段集(您需要fieldset / fieldcollection个模块)
  3. 获得论坛后,请抓住field_groupname以便以后在代码中使用。
  4. 在您的主题template.php中,或者您拥有渲染数组时,您将拥有类似的内容,基本上将“comments”对象添加到您刚刚创建的组字段集中。

    function mytheme_preprocess_node(&$vars, $hook){
        $tempField = null;
    
        // Copy the comments / comment form into a variable.
        $tempField = $vars['content']['comments']; 
    
        // Rename some of the labels, use the markup
        $tempField['#title'] = "DMS URL";
        $tempField['#field_name'] = "field_comments";
        $tempField[0]['#markup'] = $vars['content']['comments'];
    
        // Add it into the group (fieldset/group name you copied)
        $vars['content']['group_commentsgroup']['field_comments'] = $tempField;
    }
    

    这基本上会将您的注释标记添加到您使用fieldset / fieldcollection使用节点管理显示创建的空字段集/组中。另外,我正在使用ajax_comments

答案 2 :(得分:0)

这不仅仅是对问题的回答,而是我们的网站停止使用Drupal评论,因为它们太基础并且转而使用名为Disqus的免费服务

答案 3 :(得分:0)

在搜索单个可折叠评论的过了一段时间之后,我找到了一个解决方案,您可以将评论回复放在单个可折叠字段集中。 :)

下面是script.js中的代码 将.s文件中的js包含在脚本[] = js / script.js

(function($){$(function(){     //快点,隐藏评论及其回复(如果有的话)。在大多数浏览器中,这个

$('.indented').hide();

// The Comment section will be turned into a toggle to
//     open/close the comments
$('.comment').addClass('closed').bind('click', function() {
  var $self = $(this),
      $form = $self.siblings('.indented'),
      speed = 250; // speed of animation, change to suit, larger = slower

  if ($self.hasClass('open')) {
    $self.addClass('transition').removeClass('open');
    $form.hide(speed, function() {
      $self.addClass('closed').removeClass('transition');
    });
  }
  else {
    $self.addClass('transition').removeClass('closed');
    $form.show(speed, function() {
      $self.addClass('open').removeClass('transition');
    });
  }
});

}); })(jQuery的);