2011-12-19 70 views
1

我目前有一個視圖頁面顯示包含來自每個節點的圖像或視頻的字段。我也正在利用colorbox來查看每個圖像和視頻。Drupal 6查看頁面按鈕爲每個節點

我的目標: 爲視圖上的每個節點添加一個按鈕。 在facebooks牆上的帖子需要鏈接回查看頁面(這是它開始變得複雜)將動態地打開colorbox(最後在​​我的優先列表上)

我已經使用http://drupal.org/project/fb_social,它的工作非常好與意見,但og:url將返回http://localhost:8888/node/100。我可以繼續沿着這條路線前進,但我需要更好地控制該網址。

我也發現了這個帖子:drupal views facebook like button 這有點含糊。如果我只是將類似的按鈕代碼添加到視圖的自定義字段中,則所有視圖將一遍又一遍地複製按鈕實例。如果我在node/4上點擊一次,那麼頁面上的所有其他節點也都會被喜歡...

我真的很喜歡Facebook社交插件集成模塊,但開箱即用,它指向完整的節點頁面。有關如何自定義該網址的任何建議?我甚至想過使用路徑重定向模塊,但我不認爲它是一個可行的解決方案。

設置: Drupal的6.22 查看6.x的-3.0-RC3 FB社交插件6.x的-1.0-beta9

+1

Drupal和fb_social版本你使用哪種? – 2011-12-19 22:50:55

+0

@ HenrikOpel - 讓我知道如果我可以提供任何其他東西。我很想知道這是否可以通過fb-social mod – arkjoseph 2011-12-21 22:10:06

+1

我上次使用的是fb_social 6.x-1.0-beta4,它沒有集成視圖,所以我需要先看看新版本在提出可能會被淘汰的建議之前。從我目前看到的情況來看,您可以通過擴展'fb_social_like_handler_field_like'類,覆蓋其中的'render()'方法來修改所使用的URL(您可以通過調整直接在類擴展之前進行的方法)。 – 2011-12-22 09:50:26

回答

0
做到這一點

最簡單的方式將是通過重寫模板您的特定視圖並且您還可以避免另一個模塊負載的額外開銷。你想添加Facebook喜歡JS代碼到您的網頁頂部的地方(來源:http://developers.facebook.com/docs/reference/plugins/like/)(前視圖中的頭。)

<div id="fb-root"></div> 
<script>(function(d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1&appId=132294920190866"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 

然後在每個行的特定行模板,添加輸出代碼

<div class="fb-like" data-href="http://localhost:8888/myurl" data-send="true" data-width="450" data-show-faces="true"></div> 

主題化的行模板,檢查出的意見2主題化指南:

http://drupal.org/node/352970

或嘗試如果你希望語義視圖模塊做更多的主題化或不想惹模板文件:

http://drupal.org/project/semanticviews

+0

謝謝生病嘗試這個,但不會你的答案導致多個相同的按鈕顯示多次的實例? – arkjoseph 2011-12-19 22:06:54

+0

那麼,主題將進入 - 代替上述div中的網址,您將添加您想要定位的字段變量。 – schnippy 2011-12-20 04:05:24

+0

我可能做錯了。我有行模板:views-view-fields - media-gallery.tpl。PHP和類似的按鈕data-href指向我隱藏的視圖字段[路徑]。這仍然意味着相同的按鈕被重複多次。 – arkjoseph 2011-12-20 19:28:34

相關問題