2011-06-13 133 views
0

我正在使用最新的Drupal 7.2核心,我不知道如何解決我的問題。我想摺疊所有的節點評論(其中有很多),並在他按下「顯示評論」時向用戶公開它們。我知道這與fieldset有關(或者我錯了),但是在哪裏,什麼以及如何?Drupal 7中的可摺疊註釋

每個有用的答案將不勝感激。 在此先感謝。

+0

我希望有一個解決方案。我真的需要幫助。 – Jonah 2011-06-14 05:44:40

+0

也許把評論放在面板中,並將其風格設置爲可摺疊可行,但我不想放棄我實際的評論風格(標準主題風格)。我該怎麼辦? – Jonah 2011-06-14 06:52:17

+0

這可能是一個解決方案,但這裏沒有D7端口: http://drupal.org/node/94035 – Jonah 2011-06-14 12:23:30

回答

0

這更多的是一種尖端比回答你的問題,但使用Drupal的意見,因爲他們太基本我們的網站停止,並轉移到使用免費服務,稱爲Disqus

+0

偉大的提示,謝謝。但我寧願留下適合客戶需求的基本評論。無論如何,謝謝 - 未來的小貼士。 – Jonah 2011-06-13 10:20:25

+0

雖然我可以通過一些谷歌搜索來找到它,但可以很容易地修改爲與D7一起工作http://drupal.org/node/94035 – red 2011-06-13 10:32:29

+0

是的,看到了,但沒有Drupal 7的解決方案。我改變,並把它放在可摺疊的評論? – Jonah 2011-06-13 10:39:02

1

所以我嘗試了一堆建議的方法here

我落得這樣做,因爲我想基本上只是把所有的東西comments成可摺疊的字段集在這裏列出的東西:

  1. 進入了Content Type -> Manage Display
  2. 創建一個名爲像Comments空字段(你需要fieldset/fieldcollection模塊)
  3. 一旦你的一羣,搶field_groupname在代碼以後使用。

在你的主題的template.php或無論你有渲染數組,你會有這樣的東西基本上添加到您剛剛創建的組字段集的「評論」對象。

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

0

經過漫長的搜索時間對於Individual Collapsible comments,我找到了一個解決方案,您可以將您的評論回覆放入單個可摺疊字段集。 :)

下面代碼中的script.js 包含在.info文件作爲腳本[] = JS /的script.js js的

(函數($){$(函數(){// 快點並且隱藏評論和它的回覆,如果存在的話。在大多數瀏覽器中,這個

$('.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);