Как добавить вторые комментарии из виджета Vkontakte?

Главные вкладки

Аватар пользователя Emilio13 Emilio13 16 октября 2010 в 14:51

Столкнулся с такой необходимостью - нужно помимо стандартных комментариев прикрутить возможность комментировать через виджет Vkontakte.
С установкой самого виджета комментариев я думаю проблем не возникнет.
Но мне нужно чтобы кроме этого виджета отображались еще и стандартные комментарии, а переключаться между ними можно было за счет вкладок. Что-то типа такого:

С вкладками проблем не возникло, поставил модуль quicktabs, а результат его работы планирую выводить простым кодом:

<?php$module = 'quicktabs';
$delta = 1;
$block = (object) module_invoke($module, 'block', 'view', $delta);
print theme('block', $block);?>

Загвоздка возникла в том, каким кодом вывести форму комментариев (для начала вполне можно стандартную) в создаваемой вкладке (ее контент берется из блока, но это не суть важно) и как убрать стандартную форму (чтобы он не дублировалась 2 раза - в моей вкладке и под ней, где она была раньше).

Подозреваю, что ничего сложного тут нет, а подобные советы думаю могут быть полезны многим, не особо сведующим в программировании людям решившим прикрутить подобную штуку.

Комментарии

Аватар пользователя Emilio13 Emilio13 16 октября 2010 в 20:02

После целого дня мучений проблему решил, но довольно криво..

Через quicktabs вывести друпаловские комментарии у меня так и не получилось - толи в модуле проблема, толи я криворукий. Если кто-то знает как это сделать или может помочь за не слишком большую плату - отпишитесь в комментариях плиз.

Я же пошел другим путем - вывел все с помощью простого скрипта и css.
Рецепт спер с форума Searchengines, вот он:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Демонстрация табов</title>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.2.1.min.js"></script>
<style>
.tabHidden {
display: none;
}
.tab {
border: solid 1px black;
}
.tabname {
text-decoration: underline;
background-color: yellow;
}
.tabname-active {
font-weight: bolder;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
// выполняется при загрузке страницы
$('.tabname').click(function(){
//регистрация клика для элементов с классом .tabname
$('.tab').addClass('tabHidden'); // Выключаем все
$('#'+$(this).attr('tab')).removeClass('tabHidden'); // включаем нужный
$('.tabname').removeClass('tabname-active'); // Выключаем все
$(this).addClass('tabname-active')
});
/*
* Псевдо-клик на втором табе для его активации.
* Можно и не делать, ограничиться прописыванием класса
* для того таба, который виден по-умолчанию - так я и сделал.
* Но тогда надо не забывать и таб включить, и заголовок
$('#tabname2').click();
*/
});
</script>

</head>
<body>
[<span id="tabname1" tab="tab1" class="tabname">tab1</span>]
[<span id="tabname2" tab="tab2" class="tabname tabname-active">tab2</span>]
[<span id="tabname3" tab="tab3" class="tabname">tab3</span>]
<div id="tab1" class="tab tabHidden">Tab 1 Tab 1 Tab 1 Tab 1 </div>
<div id="tab2" class="tab ">Tab 2 Tab 2 Tab 2 Tab 2 </div>
<div id="tab3" class="tab tabHidden">Tab 3 Tab 3 Tab 3 Tab 3 </div>

</body>
</html>

JS и CSS вынес в отдельные файлы, ну и конечно же пришлось CSS весьма сильно допиливать.
Сам html-код прописал в comment-wrapper.tbl.php - знаю что так нельзя делать, но других вариантов пока не придумал..

В общем, знатоки Друпала, очень бы хотелось увидеть ваши советы как это можно сделать получше, за путный совет/простенький модуль (например доработанный quicktabs) могу в общем-то денежно вознаградить. В любом случае подобный модуль думаю многим мог бы пригодиться, т.к. тенденция к интеграции сайтов с соц.сетями на лицо..

Аватар пользователя Emilio13 Emilio13 3 ноября 2010 в 16:35

"Dimaseo" wrote:
Реализовал при помощи comment_display и вот такого скрипта табов.

Спасибо за ссылку на comment_display - похоже это то, чего мне нехватало, думаю теперь переделаю вывод с помощью comment_display + quicktabs.

Аватар пользователя Alex_on Alex_on 29 января 2012 в 11:20

Подскажите, решил кто-нибудь задачу нормального вывода комментов стандартных/вКонтакте на разных вкладках? (интересует для Drupal 6)