Do you want to wrap comments in a collapsible fieldset in Drupal 7?
Add the following function to your template.php of your theme:
<?php
/**
* Wraps comments in a collapsible fieldset.
*/
function YOUR_THEME_preprocess_comment_wrapper(&$variables) {
// Provide contextual information.
$variables['node'] = $variables['content']['#node'];
$variables['display_mode'] = variable_get('comment_default_mode_' . $variables['node']->type, COMMENT_MODE_THREADED);
// The comment form is optional and may not exist.
$variables['content'] += array('comment_form' => array());
$commentslist = $variables['content']['comments'];
$variables['content']['comments'] = array(
'#type' => 'fieldset',
'#title' => format_plural($variables['node']->comment_count, '1 comment', '@count comments'),
'#weight' => 0,
//'#collapsible' => TRUE, // does not work and thus is not necessary
//'#collapsed' => TRUE, // does not work and thus is not necessary
'#pre_render' => array(),
'#attributes' => array(),
);
// Make it manually collapsible as we cannot use #collapsible without the
// FAPI element processor.
$variables['content']['comments']['#attached']['library'][] = array('system', 'drupal.collapse');
$variables['content']['comments']['#attributes']['class'][] = 'collapsible';
$variables['content']['comments']['#attributes']['class'][] = 'collapsed';
$variables['content']['comments']['commentslist'] = $commentslist;
}
?>