Гугл выкидывает по поиску на одну тему на д.орг, в которой материал по данной теме так и не помог мне сделать рабочий вариант.
Предлагаю следующее:
1) Чтобы сделать свернутые комментарии - нужно выставить в нужном типе материалов показ комментариев на текущей странице, затем (я использую zen) в template.php
if ($hook == 'box') {
$content = $variables['content'];
// Здесь можно проверить тип ноды, если надо ($variables['node']->type)
if(!empty($variables['title'])) {
$collapsed=($variables['title'] == t('Post new comment'));
$element = array(
'#type' => 'fieldset',
'#title' => $variables['title'],
'#collapsible' => TRUE,
'#collapsed' => $collapsed,
'#attributes' => array('class'=>'comment-box'),
'#value' => $content,
);
unset($variables['title']);
$variables['content']=theme('fieldset',$element);
}}}
Обновить кеш и в результате форма комментирования будет спрятана под спойлером.
2) Чтобы запехнуть под спойлер вобще весь блок комментариев, нужно создать js файл - например comments.js, подключить его к теме (theme.info в zen) и в файле прописать
$( 'div[id^=comments]' ).each(function(index, comments) {
var $comments = $( comments );
if ($comments.length == 0) return;
var count = $comments.find('.comment').size();
var label = Drupal.formatPlural(count, 'Комментариев: 1', 'Комментариев: count');
if (count==0)
{
var label = "Нет комментариев";
}
var $legend = $(document.createElement('legend')).html(label);
var fsetclass = 'comments collapsible' + (location.href.search(/#(comment|new)/) == -1 ? ' collapsed' : '');
var $fset = $(document.createElement('fieldset')).addClass(fsetclass);
$fset.insertBefore($comments).append($legend).append($comments);
Drupal.behaviors.collapse($fset.parent());
});
});
это позволит выводить блок комментариев в виде
Комментариев: X, либо
Нет комментариев когда их нет в виде коллапс заголовка, щелкнув на который, можно будет просмотреть или добавить новые комментарии.
Надеюсь поможет.
Кстати как доработать comments.js? У меня он топорный думаю.
Комментарии
А ссылочко на робочий вариант мона?
volgae nergos byt.ru/ne ws
пробелы удалить, зайти на любую новость
прикольно))
А не лучше в момент когда нет комментариев написать "оставить комментарий" или чтот тип того?
Ну вроде как народу привычно кликать на надпись типа "3 комментария" чтоб их прочесть. Но не так часто вроде догадываются кликнуть на "нет комментариев" чтоб оставить первый.
возможно и лучше. там додумаем когда заполнять надумаем.
главное, что это работает=)
кстати раз уж ссылку дал, как по производительности сайт? обычно у меня только на патроле сайты летают, а этот на 201-м руцентра=)
ну а если более дельно? я готов критику принимать. учитывая, что я кодить не умею, там довольно много лишнего
ну у меня открывало норм вполне. Правда скорость 20 мегабит у моего инета.
А на jQuery slideToggle не проще ли вышло бы?
зачем лишние библиотеки яваскриптовские подрубать, если есть у друпала встроенное?
возьми да сократи, ато ходят тут : "горизонт завален", "моя бабушка лучше пишет"....